SQL(oracle)での並べ替え
SQL(oracle)での並べ替えで質問がございます。
TABLE:AAA
NO, NAM,GNo, DATE
------------------
1, abc, 3, 09/01
2, bcd, 2, 08/25
3, cde, 2, 08/23
4, def, 3, 09/05
5, efg, 1, 09/03
6, fgh, 3, 08/21
のようなテーブルがあったときに、下記条件で並べ替えを
したいと思っています。
1.GNo毎に最小のDATEを抽出し、各Gnoの最小のDATEのうち
小さいGNoのグループでソート。
2.1で同一GNo内ではDATEが小さい順にソート。
つまり、上記の例では、各GNoの最小のDATEは、
1・・・09/03
2・・・08/23
3・・・08/21
なので、これからDATEの小さい順に、GNoが
3、2、1の順にソートをします。各GNo毎にもDATEが小さい順に
ソートをするので、結果として、
NO, NAM,GNo, DATE
------------------
6, fgh, 3, 08/21
1, abc, 3, 09/01
4, def, 3, 09/05
3, cde, 2, 08/23
2, bcd, 2, 08/25
5, efg, 1, 09/03
のような順番にしたいのです。この結果のようにするには、
どのようなSQLにすればよいでしょうか?
よろしくお願いいたします。