• 締切済み

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

  • Oracle
  • 回答数1
  • ありがとう数2

みんなの回答

回答No.1

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

関連するQ&A

  • ORA-14459: GLOBALキーワードがありません。

    ORA-14459: GLOBALキーワードがありません。 以下のSQLを実行したところエラーになりました。 GLOBALキーワードとは何でしょうか?原因を教えてください。 SQL> CREATE TEMPORARY TABLE TEST AS SELECT SYSDATE FROM DUAL; CREATE TEMPORARY TABLE TEST AS SELECT SYSDATE FROM DUAL * 行1でエラーが発生しました。: ORA-14459: GLOBALキーワードがありません。 ORACLE 10g Windows 2008

  • ORA-01861について

    Oracleで同一インスタンスの別スキーマに同じテーブル構成を作り開発環境としています。 そこで下記のSQL文を実行しようとすると、あるスキーマでは正常に検索されるけど別のスキーマでは 「ORA-01861 リテラルがフォーマット文字列と一致しません」 とのエラーメッセージが出力されます。 また困ったことに別マシンから同様の検索を行うとどのスキーマでも正常に検索が行われます。 Net8とかOracleクライアントの設定の問題でしょうか? DBサーバはOracle10g、クライアントは前者のマシンがOracle8i、後者のマシンにOracle9iがインストールされています。 【対象SQL文】 SELECT * FROM (SELECT TEMP.*, ROWNUM AS RM FROM (SELECT TEST.COL1, TEST.COL2 FROM TEST WHERE (COL1 = 'Dummy') AND COL2 = '1' AND DATE_COL <= '2005-11-04 12:00:00.0' -- ※この行に対して「ORA-01861」が発生しています。 ) TEMP ) WHERE RM >= 1 AND RM <= 300 ORDER BY RM /

  • ORA-03113のエラーでインスタンスが開始できない。

    オラクルの超初心者です。 テスト環境を作成したいのですがインスタンス作成後、スタートアップの所でORA-03113のエラーが出てしまい、インスタンスが開始できません。オラクルのバージョンも7と古いのですが、おわかりの方がいらっしゃいましたら教えて下さい。よろしくお願いします。 エラーまでの手順は 1.オラクルのサーバー製品をインストール 2.コントロールパネルでオラクルのサービスを止め、databaseフォルダ内のファイルをすべて削除。 3.databaseフォルダ内にinittest.oraのファイルを保存。 4.DOSからSID作成の命令を発行→成功 5.DOSからSVRMGR23でconnect internal/testで接続→成功 6.DOSからSVRMGR23でstartup nomount pfile=D:\orant\database\inittest.oraを実行した所で上記エラーが発生しました。 Oracle7(Ver7.3.3.0.0)サーバー製品 OS:WindowsNT4.0 SP6 メモリー:512MB 作成するインスタンス名:test その他:本番環境がオラクル7の為、オラクルのVerUpは出来ません。inittest.oraのファイルは本番のファイルをコピーし、db_nameをtestに修正して作成しました。

  • ORAー12560:TNS:protocol adapter error

    初心者です。ORACLE9iをインストールしました。コマンドラインから sqlplus /nolog SQL>connect /as sysdba と実行しますが、ERROR:ORAー12560:TNS:protocol adapter error となり接続出来ません。スタートメニューからSQL Plusを起動しても同エラーとなります。ORACLE関係のサービスは起動しており、ログインユーザはORACLEをインストールしたユーザでORA_DBAグループにも登録されています。OS再起動を実施しても同エラーです。OSはwindows2000Proです。どこをチェックすれば宜しいでしょうか。

  • tnsnames.oraファイルについて

    初心者の質問で申し訳ないのですが。。。。 下記サイトからOracle Database 10g Client Release(10.2.0.3)を ダウンロードしてインストールしました。 (URL) http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10203vista.html インストール後、Visual Studioの開発環境からデータソースの新規追加を行い、接続テストを試みたところ、 以下のエラーが出力されました。 (Error) ORA-12514: TNS:listener does not currently know of service requested in connect descriptor いろいろ調べていると、上記エラーの発生原因として、tnsnames.oraファイルの内容に誤りがあるのでは? という認識をもっているのですが、 肝心のtnsnames.oraファイルがOracle Clientのインストール環境下に存在しません。 そもそも、tnsnames.oraファイルというのは、クライアント側で設定するものではないのでしょうか?? 基本的な質問で本当に申し訳ないのですが、 どなたかご回答をお願い致します。

  • ORA-12598

    ORACLE R7.3のSQL/NETで「ORA-12598(765)」のエラーが出てしまいました。 MSG集も無く、苦労しております。何のエラーか分かりませんか?

  • ORA-12170のエラーについて

    下記エラーの解決方法に心あたりのある方がいらっしゃったら教えてください。 現象  サーバーを用意し、そこにOracleDatabase11gR2をインストールし、クライアントマシンから  Oracle Net Configration Assistantでネットサービス名の構成をする際、以下のエラーが出て  接続できません。    「ORA-12170: TNS: 接続タイムアウトが発生しました。」    ※1  サーバーでは同様のユーザ(SYSTEMユーザ)とパスワードでデータベースに接続できることは確認できています。  またファイアーウォールの設定でポート1521の接続の許可は行っております。  (クライアントからの接続のときのポートはデフォルトのまま1521を使用)    ※2  ファイアーウォールを有効にしたまま接続を試みたとき、  C:\Windows\System32\LogFiles\Firewall\pfirewall.logに接続がブロックされたことがログとして出力されると思いますが、出力されませんでした。  よって、ポート1521はファイアーウォールに到達する前に、どこかで遮断されているように思われます。  (ポート1158で同様にファイアーウォールの有効性を確認したところpfirewall.logにブロックした旨の内容が出力されました。)    よろしくお願いいたします。 環境 サーバー  OS:Windows Server 2008 R2 (64bit)  Oracle:Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (x64)  ファイアーウォールの設定:ポート1521の接続は許可済み  (1158の接続も許可) クライアントPC  OS:Windows7 (32bit)  Oracle:Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (32-bit)

  • sqlplus / as sysdba で接続不可

    OS: CentOS-6.3 (64 bit) はじめまして Oracle Express Edition (11g Release2) を使って Oracle の勉強を始めた者です。 dba グループに属するユーザでログインし、端末から sqlplus / as sysdba と入力しても、 ERROR: ORA-12547: TNS: 接続を失いました。 となってしまいます。 その後、ユーザ名とパスワードを入力すると、接続できます。 このエラーが出ないようにするには、どうすればいいでしょうか? よろしくお願いします。 _________________________________ [oracle_admin@dell-t108 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.2.0 Production on 月 8月 6 17:41:06 2012 Copyright (c) 1982, 2011, Oracle. All rights reserved. ERROR: ORA-12547: TNS: 接続を失いました。 ユーザー名を入力してください: sys@xe as sysdba パスワードを入力してください: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production に接続されました。 SQL> SQL> select count(*) from hr.employees; COUNT(*) ---------- 107 SQL> exit Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Productionとの接続が切断されました。 [oracle_admin@dell-t108 ~]$ id uid=502(oracle_admin) gid=501(dba) 所属グループ=501(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [oracle_admin@dell-t108 ~]$

  • SQLPLUS USER/PASSログインできない

    sqlplus testuser/passwd@TESTの形式ではログインできますが、sqlplus testuser/passwdだとORA-01034、ORA-27101が発生します。 ORACLE_SIDは正しくセットしていますが、どのように調査すればよいか分かりませんので、教えて下さい。 以下は実行結果です。 USER[2]% sqlplus testuser/passwd@TEST SQL*Plus: Release 11.2.0.1.0 Production on 水 1月 11 22:19:45 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options に接続されました。 SQL> exit Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切 断されました。 USER[3]% setenv ORACLE_SID TEST USER[4]% env | grep ORACLE ORACLE_SID=TEST ORACLE_HOME=/opt/app/oracle/product/11.2.0/dbhome_1 ORACLE32_HOME=/home/oracle2/32Bit ORACLE_TERM=sun5 USER[5]% sqlplus testuser/passwd SQL*Plus: Release 11.2.0.1.0 Production on 水 1月 11 22:20:17 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist SVR4 Error: 2: No such file or directory プロセスID: 0 セッションID: 0、シリアル番号: 0

  • オラクルの条件で時間を指定する方法

    オラクルの条件で時間を指定する方法と格闘中です。 ログのようなデータがたくさんあってそこから、 18時~翌2時のデータはいくつあるか。 というSQL文を書きたいのですが、 うまくいきません。以下のようなSQLなのですが、 どなたかアドバイスいただけないでしょうか? SELECT COUNT(*) as CNT, ID FROM テーブル名 WHERE TO_DATE(DATE型カラム, 'HH24:MI') >= '18:00' AND TO_DATE(DATE型カラム, 'HH24:MI') < '02:00' GROUP BY ID ORDER BY CNT; ちなみにこんなエラーが出ています。 SQLエラー: ORA-01843: 指定した月が無効です。 よろしくお願いいたします。