我在stackoverflow上的第一篇文章请温柔!
我有一个MySQL(5.5.24)数据库(WAMP设置),其中包含一个包含此类记录的表
Person_ID R_Date
137 2013-01-01
137 2013-02-01
137 2013-03-15
168 2013-01-01
168 2013-02-01
168 2013-03-21
172 2013-01-01
172 2013-02-01
172 2013-03-27
但是我想使用最新/当前的R_Date为每个Person_ID创建一条记录。
所以结果看起来像这样:
Person_ID R_Date
137 2013-03-15
168 2013-03-21
172 2013-02-27
我很难找到答案,因为我不确定术语,它可能非常简单。
使用PHP可以获得这个结果虽然循环结合了多个MySQL查询,但是如果可能的话,我会使用纯MySQL解决方案。
也许我所追求的结果可以通过子查询实现?
感谢
答案 0 :(得分:1)
SELECT Person_ID, MAX(R_Date) as 'R_Date' FROM TableName GROUP BY Person_ID
答案 1 :(得分:0)
SELECT *
FROM PERSONTABLE a
WHERE R_Date = ( SELECT MAX(R_Date)
FROM PERSONTABLE b
WHERE a.Person_ID = b.Person_ID
)
答案 2 :(得分:0)
SELECT Person_ID, MAX(R_Date) FROM <YourTable> GROUP BY Person_ID