选择sql server中重复列的第一次和最后一次出现

时间:2013-09-09 15:33:00

标签: sql sql-server-2008

我有一张这样的表,

日期采用yyyy-mm-dd格式

Name       Date          Credits 
--------------------------------
Bill      2013-04-04       5
Paul      2013-04-05       4
Bill      2013-04-05       3
Angel     2013-04-07       9
Bill      2013-05-01       8
Paul      2013-05-02       7
Bill      2013-06-15       6
Angel     2013-07-22       15
Paul      2013-07-23       7
Angel     2013-08-11       9

我的预期结果是

Name       MinDate      MaxDate        Credits
-----------------------------------------------
Bill      2013-04-04    2013-06-15       1      
Paul      2013-04-05    2013-07-23       3
Angel     2013-04-07    2013-08-11       0

如何形成查询。需要帮助。

1 个答案:

答案 0 :(得分:0)

我的方法是这样的:

SELECT t1.name, MIN(t1.date) AS MinDate, MAX(t1.date) AS MaxDate
FROM table t1
GROUP BY t1.name
但是,我不知道你如何计算你的学分,所以我把它留了下来。 如果它是SUM(t1.credit)或类似的东西,只需将其添加到FROM子句中。

希望这有帮助。