gpt4 book ai didi

mysql - mysql 统计工作日中某些天为空的情况

转载 作者:行者123 更新时间:2023-11-29 09:03:02 25 4
gpt4 key购买 nike

我在 mysql 数据库中有一些事件及其日期的表,我想返回每个工作日的事件计数,如下所示:

SELECT DAYNAME(start_date) AS day, count(DAYNAME(start_date)) as number FROM events GROUP BY day

这对于发生某些事件的日子非常有效,但它不会显示空的日子。我知道如果我有一个简单的表,其中包含一周中的几天,我可以做一个简单的 LEFT JOIN 并显示所有天,当该天为空时计数 = 0。但是有没有更简单的方法可以在不创建该表的情况下做到这一点?还有其他想法吗?

提前致谢

最佳答案

一句话“不”。原因是您试图选择不存在的数据!

但是,由于一周只有 7 天,您可以即时构建简单的“一周中的天”表:

select dayname('2011-10-31') union
select dayname('2011-11-01') union
select dayname('2011-11-02') union
select dayname('2011-11-03') union
select dayname('2011-11-04') union
select dayname('2011-11-05') union
select dayname('2011-11-06');

然后将其LEFT OUTER JOIN添加到事件表中(正如您所描述的)。这将允许您运行查询,而无需创建和填充简单表。

尽管为了重用和整洁,我会创建一个简单的表格并用一周中的几天填充并使用它。

关于mysql - mysql 统计工作日中某些天为空的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7993653/

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