現在、MySQLでの開発を行っています。
MySQLでのGROUP BY句の扱いについて、
いくつか紹介します。
MySQLではGROUP BYの仕様を独自に拡張していて、
以下のような記述が行えます。
SELECT COL1 A
, COL2 B
FROM TABLE
GROUP BY A
SELECT句で指定した列の別名をGROUP BY句で使用することが出来ます。
当然、OracleやSQLServerではエラーとなってしまいます。
また、GROUP BY句で指定していないフィールドをSELECT句で指定することが出来ます。
SELECT COL1
, COL2
FROM TABLE
GROUP BY COL1
通常であれば、COL2には集計関数を使用しなければなりませんが、
MySQLの場合、上記の書き方でもエラーになりません。
データベースによる関数の違いやSQLの書き方の違いは知れば知るほど面白いものです。