gpt4 book ai didi

php - 为ajax调用填充mysql查询的日期间隙

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

为从 mysql 数据库生成的时间序列图包含空日期的最佳方法是什么。

如果我运行一个查询来获取在特定日期出售的所有红色汽车,我可以运行:

SELECT count(car_sale_order) as 'count', DATE(sale_date) as 'sale_date'
FROM car_sales
WHERE colour = "red";

但结果可能有日期漏洞,即

------------------
count | sale_date
------------------
2 | 2017-09-03
10 | 2017-09-04
1 | 2017-09-07
23 | 2017-09-09
45 | 2017-09-10
2 | 2017-09-11
21 | 2017-09-12

当我真正喜欢的是:

------------------
count | sale_date
------------------
2 | 2017-09-03
10 | 2017-09-04
0 | 2017-09-05
0 | 2017-09-06
1 | 2017-09-07
0 | 2017-09-08
23 | 2017-09-09
45 | 2017-09-10
2 | 2017-09-11
21 | 2017-09-12

我使用 PHP,所以知道我可以在那边生成这些东西,但是如果让结果集从一开始就包含这些内容,那将非常方便......

<小时/>

这与 What is the most straightforward way to pad empty dates in sql results (on either mysql or perl end)? 不同我正在寻找仅限 MySQL 的结果

最佳答案

考虑使用calendar table 。我一直发现这是创建日期报告的最可靠方法,因为与表连接的每个日期都有一行。对于您的情况,您可能希望使用类似以下内容的内容:

SELECT count(car_sale_order) as 'count', DATE(sale_date) as 'sale_date'
FROM calendar_table
LEFT JOIN car_sales ON calendar_table.date = car_sales.sale_date
WHERE calendar_table.date BETWEEN '2017-01-01' and '2017-01-31' and colour = "red";

关于php - 为ajax调用填充mysql查询的日期间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46053589/

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