• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLで顧客毎に最新のデータ順で表示)

MySQLで顧客毎に最新のデータ順で表示

このQ&Aのポイント
  • MySQLを使用して、顧客毎に最新のデータ順で表示する方法について教えてください。
  • データベースには顧客コード、日付、金額の情報があり、顧客毎に最新順で表示したいです。
  • 顧客ごとに最新の日付順にデータを表示するためのSQL文を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

こんな感じでしょうか? create table hoge (id int,user varchar(20),d date,num int); insert into hoge values (1,'A','2012/12/25',100), (2,'B','2012/12/24',200), (3,'A','2012/12/24',100), (4,'C','2012/12/23',500), (5,'A','2012/12/23',300), (6,'B','2012/12/23',200); select t1.id,t1.user,t1.d,t1.num from hoge as t1 inner join ( select user,max(d) as max_d from hoge group by user ) as t2 on t1.user =t2.user order by max_d desc,user asc,d desc

ok-rjak
質問者

お礼

回答ありがとうございます。 お返事が遅くなりました。 試してみたところ、思い通りの結果を得ることができました。 ありがとうございます。 なるほど、このようにするのですね。また一つ勉強になりました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

SELECT * FROM tbl ORDER BY 顧客コード ASC, 日付 DESC

ok-rjak
質問者

補足

回答ありがとうございます。 例のデータが悪かったですね。 上記のデータだとこのSQL文で同じ結果が得られてしまいます。 例えば、C001の日付が2012/12/27だとしたら、一番上にくるようにしたいのです。 各顧客コードの中で最新の日付順で顧客を並べ替えてから、その顧客の中で日付順でデータを並べたいのです。 表現が難しいですが、よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A

専門家に質問してみよう