sql select min,从同一行的不同列返回值并进行分组

Sco*_*eas 4 sql t-sql sql-server

我希望OrderType为每个Name的min(Date).所以,我想要这个:

Name    Date        OrderType
Alex    1/1/2014    Direct
Alex    9/15/2014   Distributor
Cindy   6/4/2014    Distributor
John    5/8/2014    Direct
John    2/14/2014   Distributor
Run Code Online (Sandbox Code Playgroud)

要归还:

Name    Date        OrderType
Alex    1/1/2014    Direct
Cindy   6/4/2014    Distributor
John    2/14/2014   Distributor
Run Code Online (Sandbox Code Playgroud)

rad*_*dar 12

我们可以根据每个日期得到行号,[Name]并选择最少的日期记录.

SELECT [T].* 
FROM (  
    SELECT [Name]
         , [DATE]
         , [OrderType]
         , ROW_NUMBER() OVER (PARTITION BY [Name] ORDER BY [Date]) AS [seq]
    FROM [TableA]
) AS [T]
WHERE [T].[seq] = 1
Run Code Online (Sandbox Code Playgroud)