みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ORA-00979エラーについて

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の式ではありません。
------------------------------------------

投稿日時 - 2011-08-29 17:33:28

QNo.6975829

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

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

投稿日時 - 2011-08-29 18:04:46

あなたにオススメの質問