回答編集履歴

1 推敲

sazi

sazi score 19819

2019/04/17 18:08  投稿

`GROUP BY AGE`がエラーです。
ですので、selectで付けたエイリアスはgroup byにとっては預かり知らぬところです。
MySqlはselectのエイリアスを参照してくれる仕様なのでエラーにはなりません。
oracleなら以下の様な記述になります。
```SQL
SELECT TRUNC(MONTHS_BETWEEN('2014-06-13',birth)/12,0) AS AGE, COUNT(id) AS player_count
FROM players
GROUP BY TRUNC(MONTHS_BETWEEN('2014-06-13',birth)/12,0)
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る