質問: **SELECT GROUP BY で、「col_name」以外で、「expr」と「position」を指定できるみたいですが、どういう意味でしょうか?** ``` SELECT [GROUP BY {col_name | expr | position} ``` MySQL 5.6 リファレンスマニュアル SELECT 構文 --- **expr** ・expressionの略? ・集約関数のこと? --- **position** ・position関数のこと?
回答: > > expr > > expressionの略? > > 集約関数のこと? > > > *expression*は式で、`GROUP BY column1 + column2`のように式の計算結果でグループ化できるという意味です。 > > position > > ・position関数のこと? > > > `SELECT`句の*position*番目のフィールドでグループ化するという意味で、たとえば ``` SELECT column1, COUNT(*) FROM table GROUP BY 1 ``` は`GROUP BY column1`と等価です。