【发布时间】:2016-03-23 19:49:05
【问题描述】:
我有一张用于票务系统的表格,其中包含以下列;
order<string> startDate<datetime> endDate<datetime>
大多数行不会根据“订单”列重复,但是在“订单”从一天跨越到下一天的情况下,它被分成 2 个订单,第一个的 endDate 为下午 5 点(结束天),第二天的 startDate 为上午 8 点(一天的开始)。根据需要,它们对应的开始和结束日期。 有些订单的长度可能超过 2 天,因此会被分成 >2 行。
例子
order startDate endDate
1 2016-03-29 11:00:53.000 2016-03-29 17:00:53.000
1 2016-03-30 08:00:53.000 2016-03-30 12:48:53.000
2 2016-03-30 10:17:53.000 2016-03-30 13:08:53.000
would transform to
1 2016-03-29 11:00:53.000 2016-03-30 12:48:53.000
2 2016-03-30 10:17:53.000 2016-03-30 13:08:53.000
我需要合并所有行来给我一个包含开始和结束的唯一“订单”ID 的表格。即具有重复项的最低开始日期和重复项的最高结束日期的行。
我计划通过创建一个新表并填充它来做到这一点,并且可以根据某个值选择 1 个重复行,但不确定如何根据多行的值创建一个新行。
【问题讨论】:
标签: sql sql-server duplicates