【发布时间】:2026-02-09 22:25:03
【问题描述】:
我正在尝试使用 MySQL 中的 date() 函数仅使用日期时间格式的日期来创建基于星期几的订单总数的案例。但是,当我运行此查询时,每个案例的值都是“0”。
select
(CASE datetime WHEN date(datetime) = '2020-06-22' THEN count(order_id) ELSE 0 END) AS 'Mon'
,(CASE datetime WHEN date(datetime) = '2020-06-23' THEN count(order_id) ELSE 0 END) AS 'Tue'
,(CASE datetime WHEN date(datetime) = '2020-06-24' THEN count(order_id) ELSE 0 END) AS 'Wed'
,(CASE datetime WHEN date(datetime) = '2020-06-25' THEN count(order_id) ELSE 0 END) AS 'Thu'
,(CASE datetime WHEN date(datetime) = '2020-06-26' THEN count(order_id) ELSE 0 END) AS 'Fri'
from table;
当我运行以下查询时,我确认我确实得到了我想要的某个日期的输出。
select count(order_id)
from table
where date(datetime) = '2020-06-22';
【问题讨论】:
-
- 你希望每个工作日的结果在一行还是一行
-
@BerndBuffen 我想将结果放在一行中,每个工作日有一列。
-
这里不需要
GROUP BY吗?
标签: mysql sql date datetime case