我有一个包含三个字段的表:一个 ID、一个日期(字符串)和一个 INT。像这样。
+---------------------------
+BH|2012-09-01|56789
+BH|2011-09-01|56765
+BH|2010-08-01|67866
+CH|2012-09-01|58789
+CH|2011-09-01|56795
+CH|2010-08-01|67866
+DH|2012-09-01|52789
+DH|2011-09-01|56665
+DH|2010-08-01|67866
基本上,对于每个 ID,我只需要返回具有最高日期字符串的行。从这个例子来看,我的结果应该是。
+---------------------------
+BH|2012-09-01|56789
+CH|2012-09-01|58789
+DH|2012-09-01|52789
最佳答案
SELECT t.id, t.date_column, t.int_column
FROM YourTable t
INNER JOIN (SELECT id, MAX(date_column) AS MaxDate
FROM YourTable
GROUP BY id) q
ON t.id = q.id
AND t.date_column = q.MaxDate
关于mysql - 需要从两个字段中进行选择,第一个字段是唯一的,基于第二个字段的最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10357817/