我有2列,名称和datetime2。我想根据thrid col,Date。选择具有最新标记值的所有不同名称。
eg table
name, mark, date
john, 20, 2014-05-17 01:00:01
sally, 30, 2014-05-18 05:00:00
john, 40, 204-05-17 02:00:00
sally, 50, 2014-05-18 04:30:00
result should be -
john, 40, 2014-05-17 02:00:00
sally, 30, 2014-05-18 05:00:00
我试过
SELECT name, Mark
FROM table
GROUP BY name, date
和
select TOP 1 Name, Mark ,date from table group by name, order by date desc
答案 0 :(得分:1)
您需要使用subSELECT将记录与最新日期隔离,并使用它来过滤主要查询:
SELECT name, mark
FROM table t1
WHERE date=(
SELECT MAX(date)
FROM table t2
WHERE t2.name=t1.name
)
答案 1 :(得分:0)
这里有一个关于SQL基础知识的好网站,可能对您有用:
http://www.w3schools.com/sql/sql_groupby.asp
它为您提供了示例,您还可以通过在网站中键入自己的SQL来测试它们,或者修改它们的示例以查看效果。