gpt4 book ai didi

php - MySQL 填充空日期

转载 作者:行者123 更新时间:2023-11-29 22:41:04 26 4
gpt4 key购买 nike

我已经尝试解决这个问题有一段时间了,但找不到解决方案:我正在查询时间条目,结果如下:

2015-02-10: 13
2015-02-11: 16
2015-02-13: 11

正如您所看到的,我在数组中缺少了两天,因为这些天没有条目。我的 google-fu 为我带来了这个问题的一些解决方案,但似乎没有一个适用于我的特定代码:

SELECT
DATE(time_entries.start) AS date,
COUNT(time_entries.id) AS entries,
SUM(CASE WHEN user_id = 4 THEN TIMESTAMPDIFF(MINUTE, start, end) ELSE 0 END) AS me,
SUM(CASE WHEN user_id = 3 THEN TIMESTAMPDIFF(MINUTE, start, end) ELSE 0 END) AS ph
FROM time_entries
LEFT JOIN calendar_table
ON time_entries.start=calendar_table.dt
WHERE start BETWEEN CURRENT_DATE - INTERVAL 1 MONTH AND CURDATE()
GROUP BY date
ORDER BY date

我在以下帮助下创建了calendar_table:https://www.brianshowalter.com/calendar_tables

请帮忙!最好的,克里斯

最佳答案

尝试使用右连接。您的查询正在使用 time_entries 记录来匹配日历表,但什么也没找到,因为它们不存在。

通过使用右连接,您将首先使用calendar_table记录。

SELECT
DATE(time_entries.start) AS date,
COUNT(time_entries.id) AS entries,
SUM(CASE WHEN user_id = 4 THEN TIMESTAMPDIFF(MINUTE, start, end) ELSE 0 END) AS me,
SUM(CASE WHEN user_id = 3 THEN TIMESTAMPDIFF(MINUTE, start, end) ELSE 0 END) AS ph
FROM time_entries
RIGHT JOIN calendar_table
ON time_entries.start=calendar_table.dt
WHERE start BETWEEN CURRENT_DATE - INTERVAL 1 MONTH AND CURDATE()
GROUP BY date
ORDER BY date

关于php - MySQL 填充空日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29350721/

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