dポイントプレゼントキャンペーン実施中!

Oracle Database 10g Release 10.2.0.5.0で下記のSQLを
実行するとエラーが発生します。
Oracle Database 10g Release 10.1.0.4.0ではエラーが
発生しません。
何かバージョンによって違いがあるのでしょうか?

-----SQL文--------------------------
SELECT
v1.TEST1 AS TEST1,
v1.TEST2 AS TEST2
FROM
TESTv v1
WHERE
v1.TEST4 = '999999'
GROUP BY
v1.TEST1,
v1.TEST2
ORDER BY
v1.TEST5
------------------------------------


---エラー---------------------------------
v1.TEST5
*
行14でエラーが発生しました。:
ORA-00979: GROUP BYの式ではありません。
------------------------------------------

A 回答 (1件)

SQLの文法から発生しています。


Oracleのバージョンに関わらず、同じエラーが発生します。
GROUP BY している場合、ORDEY BY する項目は、SELECT される項目である必要があります。
(机上で考えて、GROUP BYしてたら、SELECTしないと並び順決まらないですよね。)
※このSQL分、GROUP BYしているのに、集合関数(例、MAX)がでてきません。根本的に間違ってませんか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!