【发布时间】:2019-07-01 09:46:52
【问题描述】:
我需要在fkId、DateFrom的基础上按记录分组,但还需要选择TimeFrom第一条记录和TimeTo从第二条记录
pkID | fkID | DateFrom | TimeFrom | TimeTo
104 | 20 | 05-02-2019 00:00 | 12:00 | 23:59
105 | 20 | 06-02-2019 00:00 | 00:00 | 12:00
106 | 20 | 06-02-2019 00:00 | 12:00 | 23:59
107 | 20 | 07-02-2019 00:00 | 00:00 | 12:00
General GROUP BY 不允许 TimeFrom 和 TimeTo 包含在选择查询中。
数据就是这样,日期为 1 行或 2 行,1 行表示仅上午或下午,2 行表示上午和下午。
SELECT fkID, DateFrom --, TimeFrom
FROM table
GROUP BY fkID, DateFrom
所以想要的输出是这样的:
fkID | DateFrom | TimeFrom | TimeTo
20 | 05-02-2019 00:00 | 12:00 | 23:59
20 | 06-02-2019 00:00 | 00:00 | 23:59
20 | 07-02-2019 00:00 | 00:00 | 12:00
所以对于 Date 06-02-2019 00:00,将 dateFrom 和 DateTo 组合在一行中。
【问题讨论】:
-
分享你的尝试代码
-
间隔中不会有间隙或重叠吗?如果是,会发生什么?
-
不,不会,数据就是这样,1行或2行日期,1行表示只有上午/下午,2行表示上午和下午。