如何用SQL语句判断以周三为分界,划分周?例如:20210101-20210105为第一周,依次类推

前提SQL中TIMEKEY列格式为“20210124”(字符格式),如何写SQL语句划分周别?

PILGRIM 发布于 2021-1-24 14:09
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
zsh331Lv8专家互助
发布于2021-1-24 17:51
SELECT
DATE,
DAYOFWEEK(DATE) w,
   row_number()over( partition by date_format(date,"%Y") order by date asc ) s,
   concat("第",TRUNCATE((row_number()over( partition by date_format(date,"%Y") order by date asc )-1)/7,0)+1,"周") as t
FROM
DIC_DATE
WHERE
DATE >= "2021-01-01"
AND DATE <= '2021-12-31'
-- LIMIT 111

以MySQL语法为例:

首先你需要有一个全年的【日期维度表】,然后按照我这个方法实现即可;

——————

纠正 :20210101-20210105为第一周  ===》20210101-20210107为第一周

——————

image.png

  • 2关注人数
  • 728浏览人数
  • 最后回答于:2021-1-24 17:51
    请选择关闭问题的原因
    确定 取消
    返回顶部