これ何て呼びますか

こんにちわ。
ID,NO,POINTが同じ値のものを次のように集約させる場合どのような
SQLがシンプルでしょうか?


ID NO POINT 番号 内容 内容1 内容2
1 1 1 1 あ ............
1 2 2 1 い ............
1 2 2 9 う ............
1 3 3 1 え ............
1 3 3 8 お ............



ID,NO,POINTが同じ値の場合、番号の大きいものを抽出
結果1
ID NO POINT 番号 内容 内容1 内容2
1 1 1 1 あ ............
1 2 2 9 う ............
1 3 3 8 お ............

ID,NO,POINTが同じ値の場合、番号の小さいものを抽出
結果2
ID NO POINT 番号 内容 内容1 内容2
1 1 1 1 あ ............
1 2 2 1 い ............
1 3 3 1 え ............

ご教授頂けたら助かります。

A 回答 (1件)

お使いのバージョンとエディションが判りませんが、分析関数の使える


8iエンタープライズ、9i以降のスタンダードエディションならば

select x.*
from(select z.*,row_number(partition by ID,NO,POINT order by 番号) R from TABLE z) x
where x.R=1;

select x.*
from(select z.*,row_number(partition by ID,NO,POINT order by 番号 desc) R from TABLE z) x
where x.R=1;
    • good
    • 0
この回答へのお礼

ありがとうございます。
9iを使用しています。

R=1のところがまだよくわかってません。
とりあえず実行するとエラーがでます。
00907 右カッコがありませんとでます。
もう少し調べてみます!

お礼日時:2008/12/05 14:22

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