gpt4 book ai didi

mysql - 如何选择连续的日期?

转载 作者:可可西里 更新时间:2023-11-01 07:33:43 25 4
gpt4 key购买 nike

我有这样的查询:

SELECT  DISTINCT 
S.date1 AS date1,
S.date2 AS date2,
S.period AS period

FROM portfolio.scenario S

WHERE S.date1 >= '2010-06-01' AND
S.date2 <= '2010-07-01' AND
S.period = 'WEEK'

输出是:

"2010-06-01 00:00:00","2010-06-08 00:00:00",WEEK
"2010-06-02 00:00:00","2010-06-09 00:00:00",WEEK
"2010-06-03 00:00:00","2010-06-10 00:00:00",WEEK
"2010-06-04 00:00:00","2010-06-11 00:00:00",WEEK
"2010-06-07 00:00:00","2010-06-14 00:00:00",WEEK
"2010-06-08 00:00:00","2010-06-15 00:00:00",WEEK
"2010-06-09 00:00:00","2010-06-16 00:00:00",WEEK
"2010-06-10 00:00:00","2010-06-17 00:00:00",WEEK
"2010-06-11 00:00:00","2010-06-18 00:00:00",WEEK
"2010-06-14 00:00:00","2010-06-21 00:00:00",WEEK
"2010-06-15 00:00:00","2010-06-22 00:00:00",WEEK
"2010-06-16 00:00:00","2010-06-23 00:00:00",WEEK
"2010-06-17 00:00:00","2010-06-24 00:00:00",WEEK
"2010-06-18 00:00:00","2010-06-25 00:00:00",WEEK
"2010-06-21 00:00:00","2010-06-28 00:00:00",WEEK
"2010-06-22 00:00:00","2010-06-29 00:00:00",WEEK
"2010-06-23 00:00:00","2010-06-30 00:00:00",WEEK
"2010-06-24 00:00:00","2010-07-01 00:00:00",WEEK

我只需要从最早的 date1 开始的连续日期;

    "2010-06-01 00:00:00","2010-06-08 00:00:00",WEEK
"2010-06-08 00:00:00","2010-06-15 00:00:00",WEEK
"2010-06-15 00:00:00","2010-06-22 00:00:00",WEEK
"2010-06-22 00:00:00","2010-06-29 00:00:00",WEEK

感谢有关该主题的任何帮助:)

最佳答案

使用功能子句并不是最佳性能,但只要 S.period 保持在一周内,这就可以达到目的。

SELECT  DISTINCT 
S.date1 AS date1,
S.date2 AS date2,
S.period AS period

FROM portfolio.scenario S

WHERE S.date1 >= '2010-06-01' AND
S.date2 <= '2010-07-01' AND
S.period = 'WEEK' AND
DAYOFWEEK(S.date1) = DAYOFWEEK('2010-06-01');

关于mysql - 如何选择连续的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4175258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com