You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL统计每周内任意时刻存在的记录数问题求助

MySQL统计每周内任意时刻存在的记录数问题求助

我有一张包含created_at和deleted_at时间戳的表,现在需要统计每一周内任意时刻存在的记录总数,期望得到的结果格式如下:

weekrecords
2022-014
2022-025
......

核心逻辑是:统计那些创建时间早于当周结束时间,且删除时间晚于当周开始时间的记录。

我试过以下几种SQL写法的变体,但结果总是少统计,实在找不到问题出在哪:

SELECT
DATE_FORMAT(created_at, '%Y-%U') AS week,
COUNT(*)
FROM records
WHERE
deleted_at > DATE_SUB(deleted_at, INTERVAL (WEEKDAY(deleted_at)+1) DAY)
AND created_at < DATE_ADD(created_at, INTERVAL 7 - WEEKDAY(created_at) DAY)
GROUP BY week
ORDER BY week

如果有人能帮忙找出问题,我会非常感激!

更新:我找到了关于生成日期范围表的相关思路,建议这个问题可以关闭。

备注:内容来源于stack exchange,提问作者Rich Jenks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:03:11