アプリ版:「スタンプのみでお礼する」機能のリリースについて

ちょっとクエリーを組むのに悩んでいます。

下記のようなデータがあった場合に
項目1のグループ毎の最大の日付順に並べ、
項目2の番号順に並べたいのですが、
どういうクエリーを書いたらいいのか悩んでいます。
何かいい方法はないでしょうか?


元データ
項目1、項目2、日付
1、0、2011/8/15
1、1、2011/8/17
1、2、2011/8/20
2、0、2011/8/16
3、0、2011/8/18
3、1、2011/8/19

出力結果
項目1、項目2、日付
1、0、2011/8/15
1、1、2011/8/17
1、2、2011/8/20
3、0、2011/8/18
3、1、2011/8/19
2、0、2011/8/16

A 回答 (1件)

こんな感じで?



select t.項目1,t.項目2,日付
from テーブル as t
inner join(select 項目1,max(日付) as max_d
from テーブル
group by 項目1) as sub
on t.項目1=sub.項目1
order by max_d desc,t.項目1 asc,日付 asc

この回答への補足

ん……
「日付 asc」でも、ちゃんと動いてました。
書き写す時にどこか間違えてたみたいです。

補足日時:2011/08/15 16:23
    • good
    • 0
この回答へのお礼

ありがとうございます。

最後の「日付 asc」を「t.項目2 asc」に直したら、
ちゃんと表示するようになりました。

select t.項目1,t.項目2,日付
from テーブル as t
inner join(select 項目1,max(日付) as max_d
from テーブル
group by 項目1) as sub
on t.項目1=sub.項目1
order by max_d desc,t.項目1 asc,t.項目2 asc

お礼日時:2011/08/15 16:00

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

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