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

如何对SQL活动数据进行聚合,按日期统计不同用户类型的总人数

SQL聚合统计调整方案

你可以通过条件聚合的方式实现需求,调整后的SQL语句如下:

SELECT
    A.ReportRefreshDate,
    TotalDesigners = COUNT(DISTINCT CASE WHEN U.Designer = 1 THEN A.UserId END),
    TotalRespondents = COUNT(DISTINCT CASE WHEN U.Respondent = 1 THEN A.UserId END)
FROM Activities A
INNER JOIN Users 
    ON LOWER(Users.UserPName) = LOWER(A.UserId)
INNER JOIN ActiviesUserTypes U
    ON Operation = U.ActionName
WHERE 
A.TId=4
AND
Users.Branch='LLA'
AND
(U.Designer=1 OR U.Respondent=1)
AND
A.ReportRefreshDate between DateAdd(DD,-200,GETDATE() ) and GETDATE()
GROUP BY A.ReportRefreshDate
ORDER BY A.ReportRefreshDate

逻辑说明

  • 保留了你原有所有的联表规则、过滤条件,仅修改了返回字段和新增分组逻辑
  • 按ReportRefreshDate分组实现日期维度的聚合统计
  • 使用COUNT(DISTINCT + CASE WHEN)的条件聚合逻辑,分别统计两类用户的去重数量,避免同一个用户同一天多次操作被重复计数
  • 若你需要按自然天统计(忽略时分秒),只需将SELECT和GROUP BY后的A.ReportRefreshDate替换为CAST(A.ReportRefreshDate AS DATE)即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:42:02