SQL:获取所有客户的最新付款?

Joh*_*Doe 0 mysql sql join

即时通讯使用Mysql 5.1并给出一个表customer with customerid,paymentdate我需要所有客户的最新付款.所以带有条目的表

row, customerid, paymentdate
1    5           2011-03-01
2    5           2011-04-01
3    6           2011-01-01
4    7           2011-01-01
5    7           2011-02-01
Run Code Online (Sandbox Code Playgroud)

应该返回2,3,5行查询

select max(paymentdate),customerid from payments where customerid=5;
Run Code Online (Sandbox Code Playgroud)

工作,我试图进入某种WHERE客户IN(...),但没有运气,因为它返回2列不仅1

谢谢


最后,答案激发了我找到相关信息并通过以下查询解决了问题(如文章评论中所述)

select * from (select * from payments order by paymentdate desc) as p group by customerid;
Run Code Online (Sandbox Code Playgroud)

来自相关mysql文章的mysql论坛解决方案的同样问题

Gab*_*oli 5

你应该group by是customerid.

select max(paymentdate),customerid from payments group by customerid;
Run Code Online (Sandbox Code Playgroud)