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

如何在SQL子查询中实现按人员与日期分组统计ticketNum数量

原有写法问题说明

你现有写法的错误点主要有两个:

  1. 子查询中WHERE name = name是恒成立的条件,没有实现按外层用户名过滤的逻辑,返回的永远是全表去重后的ticketNum总数
  2. 缺少日期维度的处理和分组逻辑,无法实现按人员+日期双维度统计的需求

正确实现方案

你可以直接用GROUP BY配合日期转换函数实现需求,不同数据库的日期转换语法略有差异,以下是通用参考写法:

SELECT 
  name AS `Name`,
  COUNT(ticketNum) AS `Sum of TicketNum`,
  DATE(created) AS `Date`
FROM mytable
GROUP BY name, DATE(created)

如果你的业务需要统计同一日内同一人员的不重复工单号数量,将COUNT(ticketNum)替换为COUNT(DISTINCT ticketNum)即可。

不同数据库的日期转换适配说明:

  • MySQL/PostgreSQL:直接使用DATE(created)即可
  • SQL Server:替换为CAST(created AS DATE)
  • Oracle:替换为TRUNC(created)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 04:48:02