gpt4 book ai didi

php - 从mysql中的当前日期获取过去的所有7个日期

转载 作者:行者123 更新时间:2023-11-29 05:05:27 24 4
gpt4 key购买 nike

如何显示从当天开始的过去 7 天的所有日期。例如:如果今天是 10/3/2018。我希望输出是

10/3/2018
9/3/2018
8/3/2018
7/3/2018
6/3/2018
5/3/2018
4/3/2018

现在最主要的是我的表没有所有日期的条目。所以如果我使用 between 或类似的东西。它只会显示表格中可用的日期。

我实际上是在尝试获取过去 7 天的数据,如果当天没有可用数据,那么应该为零或空白。

编辑 1:

Select curdate()
union Select date_sub(Curdate(),interval 1 day)
union Select date_sub(Curdate(),interval 2 day)
union Select date_sub(Curdate(),interval 3 day)
union Select date_sub(Curdate(),interval 4 day)
union Select date_sub(Curdate(),interval 5 day)
union Select date_sub(Curdate(),interval 6 day)
from detail

现在这会像我想要的那样返回所有以前的日期,但我仍然无法使用 where 子句对其进行正确的分组。这样日期返回当天下的订单数,如果没有找到则返回 0。

SELECT count(id) from detail where status in(3,7)

这是原始查询

最佳答案

无需在任何表格中添加任何日期

你可以像下面这样使用 UNION 获取最近 7 天

Select if(created_at,created_at,0) as past_seven_days from (

Select curdate() as past_seven_days
union
Select date_sub(Curdate(),interval 1 day)
union
Select date_sub(Curdate(),interval 2 day)
union
Select date_sub(Curdate(),interval 3 day)
union
Select date_sub(Curdate(),interval 4 day)
union
Select date_sub(Curdate(),interval 5 day)
union
Select date_sub(Curdate(),interval 6 day)
union
Select date_sub(Curdate(),interval 7 day) )as p

left join url as u on p.past_seven_days = u.created_at

Ouput

关于php - 从mysql中的当前日期获取过去的所有7个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49206457/

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