- 締切済み
OracleSqlで『RORNUM』の使い方について
VB6でコーディングをしています DBはOracle7.3です SELECT A.One, A.Two, SUM(A.Three) Three, FROM A WHERE ( A.One = '001' AND A.Two = '3') GROUP BY A.One, A.Two ORDER BY Three DESC 上記のようにAテーブルの項目One,Two,Threeを抽出するSQLで 重複項目One,Twoでグループ化したThreeの合計値の内、上位25件を 取得したいのですが... SELECT * FROM ( SELECT A.One, A.Two, SUM(A.Three) Three, FROM A WHERE ( A.One = '001' AND A.Two = '3') GROUP BY A.One, A.Two ORDER BY Three DESC ) WHERE ROWNUM <= 25 上記のように記述するとORDER BY句でエラーになります ORDER BY句をWHERE ROWNUMの下に記述するとSQLはとおりますが 条件が変わってしまいます。 抽出条件でマージ、降順ソートしたものに対して上位n件の取得をするには どうすれば良いのでしょうか?
- みんなの回答 (4)
- 専門家の回答
お礼
プログラムが複数本あるため、このプログラムに関してだけPL/SQLを使用するのは一寸抵抗があります。 でも、貴重なお時間をさいて頂いて申し訳ありませんでした。