小编Pet*_*ter的帖子

为某些列选择DISTINCT,为其他列选择最小值(什么是`Group by`?)

我有一个TableA有两列的表:MyName nvarchar(100)MyDateTime DateTime.每个MyName具有不同DateTimes的记录可以有多个.我试图返回一个记录集,其中包含MyName表中的每个值,每个值最早MyDateTime.

这可以返回不同的MyNames:

SELECT DISTINCT([MyName]) FROM TableA
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的UNION语句,但我的所有尝试都被DISTINCT()关键字抛弃了.例如,以下查询会查找所有时间,而不仅仅是每个时间的最小值:

SELECT DISTINCT([MyName]), [MyDateTime] FROM TableA
Run Code Online (Sandbox Code Playgroud)

努力想出正确的SQL语法来实现这一目标.有什么帮助吗?

sql aggregate-functions sql-server-2008-r2

-1
推荐指数
1
解决办法
1663
查看次数