哥哥们,帮帮忙,想了一天了[掉小珍珠了]
全部评论
同志们看清楚题目,会有日期区间重复,不要以为简单就给别人写了
如果日期是date类型直接用datediff函数就能算出来吧?如果是varchar我就不会了
MySQL用自定义参数能写,hive估计得有日期维表才能写
SELECT brand, SUM(DATEDIFF(end_time, start_time) + 1) AS promotion_days
FROM your_table
GROUP BY brand;
m
其实就是一个合并区间的问题,有区间重复就合并,没有就保留,然后增加一个字段表示促销天数,然后按照商品group by ,天数求和就行了
利用空间函数将每一行的范围值进行拆分(拆分为多行,例如2023.1.1-2023.1.5,就是拆分为5行),最后合并去重,然后聚合count即可
相关推荐
11-15 18:12
北京航空航天大学 算法工程师 点赞 评论 收藏
分享