GROUP BY を使うときは、フィールドが必ず一意になるように指定する必要がある
MySQLでは許される書き方
SELECT a, b, c FROM hoge GROUP BY a
MySQLなら、b と c を適当に表示してくれるが、Oracleでは許されない
(ORA-00979: GROUP BYの式ではありません。)
Oracleでは次のようにする
SELECT a, MAX(b), MAX(c) FROM hoge GROUP BY a
ORDER BY でも同様に、一意になるものを指定する
SELECT a, MAX(b), MAX(c) FROM hoge GROUP BY a ORDER BY a, MAX(b)