在SQL Server中查找第一次出现的序列

时间:2014-11-06 00:34:47

标签: sql sql-server

我有一张看起来像这样的表

  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

2 个答案:

答案 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,允许您执行此类操作。