【发布时间】:2017-07-10 23:46:58
【问题描述】:
我正在寻求将以下数据转换为所需输出的帮助。我们有 Item,LOC DAY 级别的数据,需要转换为 Item,Loc Date Range 以减少表中的记录数和其他要求。
Item LOC RP_DATE RP_IND
1003785256 543 2016-11-05 Y
1003785256 543 2016-11-06 Y
1003785256 543 2016-11-07 Y
1003785256 543 2016-11-09 Y
1003785256 543 2016-11-10 Y
1003790365 150 2016-11-05 Y
1003797790 224 2016-11-05 Y
1003797790 224 2016-11-06 Y
1003797790 224 2016-11-07 Y
1003797790 224 2016-11-08 Y
所需输出:
Item LOC RP_ST_DATE RP_END_DATE
1003785256 543 2016-11-05 2016-11-07
1003785256 543 2016-11-09 2016-11-10
1003790365 150 2016-11-05 2016-11-05
1003797790 224 2016-11-05 2016-11-08
【问题讨论】:
-
通过 epm_sku_idnt,loc_idnt 从 RP_SKU_LOC 组中选择 epm_sku_idnt,loc_idnt,min(rp_date),max(rp_date);我试过这个,但它不适用于有差距的场景
-
看看:stackoverflow.com/questions/44979192/… 和 stackoverflow.com/questions/37401369/…。请注意,这些答案适用于 SQL Server。
-
您还需要在问题中清楚地描述您要达到的目标。
-
我正在尝试将 DAY 级别的数据转换为 DATE RANGE 级别,如预期输出所示。
-
@Harsha 您似乎忽略了问题中的一个关键要求:如何处理日期中的空白。您的一个 cmets 给出了提示,但您的问题仍未具体说明。
标签: mysql date gaps-and-islands