我有一个包含两列的表TableA
:MyName nvarchar(100)
和MyDateTime DateTime
。每个MyName
可能有多个记录具有不同的DateTime
s。我正在尝试从表中返回包含MyName
的每个值的记录集,每个值最早为MyDateTime
。
这可以返回不同的MyNames
:
SELECT DISTINCT([MyName]) FROM TableA
我尝试了不同的UNION
语句,但我的所有尝试都被DISTINCT()
关键字抛弃了。例如,以下查询会查找所有时间,而不仅仅是每个时间的最小值:
SELECT DISTINCT([MyName]), [MyDateTime] FROM TableA
努力想出正确的SQL语法来实现这一目标。有什么帮助吗?
答案 0 :(得分:7)
SELECT MyName, MIN(MyDateTime)
FROM TableA
GROUP BY MyName;
答案 1 :(得分:3)
所有不同的[MyName]来自具有earlist [MyDateTime]的表。
您需要GROUP BY MyName
使用MIN(MyDateTime)
,类似于:
SELECT MyName, MIN(MyDateTime)
FROM myTable
GROUP BY MyName