SQL语句选择最近的日期和每个ID的组

时间:2017-10-14 16:15:10

标签: python mysql sql

我正在尝试为每个detailsID的最新日期检索每个detailsID的最新“主题1值”。

我正在思考以下几点:

SELECT detailsID,`Topic 1 Scores`, MAX(Date) 
FROM Information.scores 
WHERE `Topic 1 Scores` IS NOT NULL 
GROUP BY `detailsID`,`Topic 1 Scores`

正在打印;

detailsID,主题1分,MAX(日期)

2 0 26/09/2017

2 45 26/09/2017

2 100 26/09/2017

3 30 25/09/2017

3 80 14/10/2017

而不是实际选择每个detailsID的最新日期?

1 个答案:

答案 0 :(得分:0)

这样的解决方案可以在链接问题的this answer中找到。

SELECT t1.detailsID, t1.`Topic 1 Scores`
FROM Information.scores AS t1
JOIN (SELECT detailsID, MAX(date) AS maxDate
      FROM Information.scores
      GROUP BY detailsID) AS t2 
ON t1.detailsID = t2.detailsID AND t1.date = t2.maxDate