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

SQL多COUNT()带条件查询:按日期、分组统计唯一姓名

解决按日期、分组统计唯一姓名的SQL查询问题

核心解决方案

要同时满足按日期维度、分组统计唯一姓名的需求,你需要在查询中同时将Dates和Group作为分组依据,配合COUNT(DISTINCT Name)统计每组的唯一姓名数量;若需日期过滤,直接在WHERE子句添加对应条件即可。

示例实现

假设你的样例表结构如下(表名:user_stats):

DatesGroupName
2024-01-01AAlice
2024-01-01ABob
2024-01-01BAlice
2024-01-02ABob
2024-01-02BCharlie

正确查询语句

SELECT 
    Dates,
    `Group`, -- Group是SQL关键字,需用反引号(MySQL)或方括号(SQL Server)包裹
    COUNT(DISTINCT Name) AS unique_name_count
FROM user_stats
-- 添加日期过滤条件,示例为统计2024年1月数据
WHERE Dates BETWEEN '2024-01-01' AND '2024-01-31'
GROUP BY Dates, `Group`
ORDER BY Dates, `Group`;

对应的期望输出

DatesGroupunique_name_count
2024-01-01A2
2024-01-01B1
2024-01-02A1
2024-01-02B1

关键注意点

  • 分组字段完整性:必须将Dates和Group都放入GROUP BY子句,否则无法按双维度正确分组统计。
  • 关键字处理:Group是SQL保留关键字,作为列名时需用反引号/方括号包裹,避免语法错误。
  • 日期过滤:日期条件需与数据库存储的日期格式匹配,若只需某一天的数据,直接用Dates = '2024-01-01'即可。
  • 唯一值统计:COUNT(DISTINCT Name)会自动忽略同一分组内的重复姓名,仅统计唯一值数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:15:41