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

如何使用COUNT聚合按周分组并按日期范围查询MySQL数据

问题原因

  • 你的查询存在层级逻辑错误:统计jumlah_data的中间第二层查询没有加GROUP BY规则,实际统计的是内层查询结果的总条数,只会返回1行数据,外层分组自然无法得到多组结果
  • 你当前的分组规则是按天分组,若需要按周统计还需要调整分组逻辑

修复方案

1. 按天统计的正确写法

如果需要先看每日的统计结果,可直接简化冗余的三层嵌套,写法如下:

SELECT 
    DATE(created_at) AS x,
    COUNT(DISTINCT kontrakid) AS y 
FROM histori_summary a 
WHERE 
    tahapan_kontrak_id = 7 
    AND IFNULL(tahapan_kontrak_is_setuju, 1) != 0 
    AND DATE(created_at) >= '2021-09-16' 
    AND DATE(created_at) <= CURDATE()
GROUP BY DATE(created_at)

2. 按周统计的写法

如果需要按周分组适配周图表,调整分组规则即可,以下写法默认周起始为周一,可根据需求调整参数:

SELECT 
    DATE_SUB(DATE(created_at), INTERVAL WEEKDAY(created_at) DAY) AS x,
    COUNT(DISTINCT kontrakid) AS y 
FROM histori_summary a 
WHERE 
    tahapan_kontrak_id = 7 
    AND IFNULL(tahapan_kontrak_is_setuju, 1) != 0 
    AND DATE(created_at) >= '2021-09-16' 
    AND DATE(created_at) <= CURDATE()
GROUP BY YEARWEEK(created_at, 1)

说明:YEARWEEK的第二个参数1代表周起始为周一,改成0代表周起始为周日;x轴返回每周的起始日期,可直接适配图表展示

内容的提问来源于stack exchange,提问作者ubay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:27:03