我正在使用 SQL Server 2008 R2。我有一个名为 Name 的表,其结构和示例数据如下:
ID Date Name DOD
10001 200911 Kevin H 06/17/2000
10001 200912 Kevin 06/20/2000
10001 201001 Kevin 06/20/2000
10001 201012 K 06/20/2000
10001 201101 K 06/20/2000
10001 201406 Kevin 06/20/2000
请注意,员工 10001 随着时间的推移已经更改了 3 次名称和一次更改了 DOD。我要做的是按 ID、名称和 DOD 进行分组,以使数据在日期之间保持一致。我还需要获取这些组的最小和最大日期,并确保日期按顺序排列。如果名称或 DOD 发生变化,然后又变回原来的样子,则需要创建一个新组。
因此,输出将如下所示:
EmployeeID MinDate MaxDate Name DOD
10001 200911 200911 Kevin H 06/17/2000
10001 200912 201001 Kevin 06/20/2000
10001 201012 201101 K 06/20/2000
10001 201406 201406 Kevin 06/20/2000
Name 表非常大,因此会出现 Data 在 20 个月内保持一致,然后在 1 个月内保持一致,然后又在 20 个月内保持一致的情况。
提前感谢您,如果您需要更多信息,请告诉我。