我需要一些帮助来汇总一些数据。想象一下,我有下表:
number Name From Date To Date Sequency No_
----------------------------------------------------
123440 MJCL 03/12/2014 02/09/2015 1
123440 MJCL 07/09/2015 06/03/2016 1
123440 MJCL 07/03/2016 06/09/2016 2
123440 MJCL 07/09/2016 06/03/2017 3
123440 MJCL 07/03/2017 31/12/9999 4
123442 GJSVF 15/12/2014 14/06/2015 1
123442 GJSVF 15/06/2015 14/12/2015 2
123442 GJSVF 15/12/2015 14/06/2016 3
123442 GJSVF 27/03/2017 26/03/2018 1
我需要一个SQL查询来输出以下内容:
number Name From Date To Date
--------------------------------------
123440 MJCL 03/12/2014 02/09/2015
123440 MJCL 07/09/2015 31/12/9999
123442 GJSVF 15/12/2014 14/06/2016
123442 GJSVF 27/03/2017 26/03/2018
基本上我需要的是按[Sequency No_]
加入行并返回[From Date]
的{{1}}和[Sequency No_] = 1
来自序列的最后[To Date]
。有什么想法吗?
请注意,该数据库是SQL Server 2008.
答案 0 :(得分:1)
这称为 gaps and islands 问题。
这是使用{'colour': 'green'}
[{'colour': 'yellow'}, {'colour': 'green'}]
{'colour': 'green'}
窗口函数
Row_Number
答案 1 :(得分:0)
试试这个......这对你有用:)
SELECT number,Name,MAX(From_Date) From_Date,MAX(To_Date) To_Date
FROM Trans_Tab
GROUP BY number,Name
UNION ALL
SELECT number,Name,MIN(From_Date) From_Date,MIN(To_Date) To_Date
FROM Trans_Tab
GROUP BY number,Name
ORDER BY number,Name