我正在尝试计算当前周没有与之相关的事件的天数,但我不知道该怎么做.
例如,我使用此查询计算本周发生的事件数:
SELECT COUNT(e.event_id) FROM cali_events e
LEFT JOIN cali_dates d
ON e.event_id = d.event_id
WHERE YEARWEEK(d.date) = YEARWEEK(CURRENT_DATE())
Run Code Online (Sandbox Code Playgroud)
但是我只知道如何通过计算每一天并计算返回0的天数来计算天数,但这不是很优雅.
我怎么能用一个查询呢?
p.c*_*ell 10
此查询使用子查询来查找已连接表中的所有唯一日期.然后从七减去唯一日期的数量?
--assuming a 7 day week; no mention in the request about workweek.
SELECT 7 - COUNT(*) AS NumDaysWithoutEvents
FROM
(SELECT DAY(d.date)
FROM cali_events e
LEFT JOIN cali_dates d
ON e.event_id = d.event_id
WHERE YEARWEEK(d.date) = YEARWEEK(CURRENT_DATE())
GROUP BY DAY(d.date)
) AS UniqueDates
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
292 次 |
| 最近记录: |