- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLで顧客毎に最新のデータ順で表示)
MySQLで顧客毎に最新のデータ順で表示
このQ&Aのポイント
- MySQLを使用して、顧客毎に最新のデータ順で表示する方法について教えてください。
- データベースには顧客コード、日付、金額の情報があり、顧客毎に最新順で表示したいです。
- 顧客ごとに最新の日付順にデータを表示するためのSQL文を教えてください。
- みんなの回答 (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
その他の回答 (1)
- kosukejlampnet
- ベストアンサー率44% (126/282)
回答No.1
SELECT * FROM tbl ORDER BY 顧客コード ASC, 日付 DESC
質問者
補足
回答ありがとうございます。 例のデータが悪かったですね。 上記のデータだとこのSQL文で同じ結果が得られてしまいます。 例えば、C001の日付が2012/12/27だとしたら、一番上にくるようにしたいのです。 各顧客コードの中で最新の日付順で顧客を並べ替えてから、その顧客の中で日付順でデータを並べたいのです。 表現が難しいですが、よろしくお願いします。
お礼
回答ありがとうございます。 お返事が遅くなりました。 試してみたところ、思い通りの結果を得ることができました。 ありがとうございます。 なるほど、このようにするのですね。また一つ勉強になりました。