我有一张看起来像这样的表
NAME DATE
--------------------
A 2014.01.01
A 2014.01.02
B 2014.01.05
B 2014.01.06
B 2014.01.07
C 2014.01.08
C 2014.01.10
C 2014.01.11
B 2014.01.13
B 2014.01.15
B 2014.01.18
如何提取每个'NAME'序列的第一个出现位置?
意思是我希望返回以下内容:
NAME DATE
A 2014.01.01
B 2014.01.05
C 2014.01.08
B 2014.01.13
答案 0 :(得分:2)
只需使用min()
:
select name, min(date) as date
from table t
group by name;
答案 1 :(得分:1)
基本group by
并使用MIN
函数应该这样做:
SELECT NAME, MIN(DATE) FROM Table GROUP BY NAME
SQL Server提供了number of different aggregate functions,允许您执行此类操作。