電子書籍の厳選無料作品が豊富!

すみません。
order byで並び変えし最大値の項目のみ一意で抽出したいのですが

SELECT * from ta order by no,date1,date2;
no | date1 | date2
----+-------+-------
11 | 2008 | 0501
11 | 2008 | 0502
11 | 2008 | 0502
11 | 2008 | 0503
12 | 2008 | 0501
12 | 2008 | 0502
12 | 2008 | 0503
13 | 2008 | 0501
13 | 2008 | 0502
13 | 2008 | 0503
14 | 2008 | 0501

とあった場合、
no,date1,date2のorder by順番で並び変えし

11 | 2008 | 0503
12 | 2008 | 0503
13 | 2008 | 0503
14 | 2008 | 0501

とno項目に対し一つずつだけ出力したい場合どのようにしたらよいのでしょうか?
LIMITとoffsetだと1項目分しか出力されず困っております。
SELECT * from ta where no in (select no from ta group by no limit 1 offset 0) order by no,date1 desc,date2 desc limit 1;

宜しくお願い致します。

A 回答 (1件)

普通のグループ化でよいのでは?



SELECT * FROM (SELECT no,MAX(date1) AS date1,MAX(date2) AS date2 FROM TA GROUP BY no)
ORDER BY no,date1,date2
    • good
    • 0
この回答へのお礼

すみません。
動作確認しました有難うございした。
SELECT * FROM (SELECT no,MAX(date1) AS date1,MAX(date2) AS date2 FROM TA GROUP BY no) as abc ORDER BY no,date1,date2;
にて確認しました。
精進させて頂きます。

お礼日時:2008/05/13 11:22

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

関連するカテゴリからQ&Aを探す