【发布时间】:2021-08-20 04:47:56
【问题描述】:
原始数据:
ID Date Original_col
A 2021-04-10 1
B 2021-03-01 1
B 2021-05-01 1
C 2021-03-01 1
C 2021-03-02 2
C 2021-03-03 3
C 2021-05-07 1
结果数据:
ID Date Result_col
A 2021-04-10 1
B 2021-03-01 1
B 2021-05-01 1
C 2021-03-01 3
C 2021-05-07 1
对于 ID = 'C' 记录,日期在 '2021-03-01' 到 '2021-03-03' 之间的记录被组合在一起,只有开始日期 '2021-03-01' 和最大天 '3'保留,日期 = '2021-05-07' 的记录会保留,因为没有更大的记录。
“日期期间”没有严格的限制,如果它们在 Original_col 上是连续的,我需要将它们组合在一起。
【问题讨论】:
-
请通过“sum the same date period”添加一些关于您想要的结果的具体含义。什么日期时间?什么总结?根据 Result 数据,我无法对记录的日期时间段进行正确的关联、猜测 ID 和 Year+Month。例如:
GROUP BY ID, DATE_FORMAT("%Y%m", Date),但求和意味着ID, MIN(Date), SUM(Original_col)将导致C 2021-03-01 6而不是C 2021-03-01 3,也许是MAX(Original_col)? -
甚至可能是
SELECT ID, MIN(Date), COUNT(Date) ... GROUP BY ID, YEAR(Date), MONTH(Date),其中 "sum" 被错误地用于代替count? -
请注意,按照惯例,术语“ID”通常是为代理主键保留的。
-
我们是否理解如果最后一行是“2021-03-04”,它仍然会被保留(“因为没有更大的记录”)
标签: mysql sql data-analysis