我有一个日期栏,我必须分成两组(a组和b组),每组14天,无限期地穿插在一起。
例如,“2021-04-09”和“2021-04-22”之间的日期对应a组,“2021-04-23”和“2021-05-06”之间的日期对应b组,“2021-05-07”和“2021-05-20”之间的日期对应a组,依此类推。
我想再做一列,计算某个日期是在a组还是在b组。
CREATE TABLE dates (
date DATE
);
INSERT INTO dates VALUES ('2021-04-20');
INSERT INTO dates VALUES ('2021-04-21');
INSERT INTO dates VALUES ('2021-04-22');
INSERT INTO dates VALUES ('2021-04-23');
INSERT INTO dates VALUES ('2021-04-24');
INSERT INTO dates VALUES ('2021-04-25');
预期结果:
日期组2021-04-20组a2021-04-21组a2021-04-22组a2021-04-23组b2021-04-24组b2021-04-25组b
很抱歉,第一次在一个问题上我不能尝试。我所能做的就是把所有的日期都放在静态里。我甚至不知道能不能算计一下。
select date,
CASE
WHEN (date between '2021-04-20' and '2021-04-22') THEN 'GROUP A'
WHEN (date between '2021-04-23' and '2021-04-25') THEN 'GROUP B'
ELSE 'UNKNOWN' END as group
from dates
1条答案
按热度按时间xriantvc1#
假设基准日期是
2021-04-09
例子结果