Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为某些列选择DISTINCT,为其他列选择最小值(什么是“分组依据”)_Sql_Sql Server 2008 R2_Aggregate Functions - Fatal编程技术网

Sql 为某些列选择DISTINCT,为其他列选择最小值(什么是“分组依据”)

Sql 为某些列选择DISTINCT,为其他列选择最小值(什么是“分组依据”),sql,sql-server-2008-r2,aggregate-functions,Sql,Sql Server 2008 R2,Aggregate Functions,我有一个表TableA,有两列:MyName-nvarchar(100)和MyDateTime-DateTime。每个MyName可以有多条记录,这些记录具有不同的DateTimes。我试图返回一个记录集,其中包含表中MyName的每个值,每个值都有最早的MyDateTime 这用于返回不同的MyNames: SELECT DISTINCT([MyName]) FROM TableA 我尝试了不同的UNION语句,但所有尝试都被DISTINCT()关键字抛出。例如,以下查询将查找所有时间,而不

我有一个表
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语法来实现这一点。需要帮忙吗

SELECT MyName, MIN(MyDateTime)
FROM TableA
GROUP BY MyName;
表中所有与最早的[MyDateTime]不同的[MyName]

您需要使用
MIN(MyDateTime)
按MyName分组,例如:

SELECT MyName, MIN(MyDateTime)
FROM myTable
GROUP BY MyName

哇-太简单了。谢谢,拉斐尔。