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

如何按Date分组统计Value1/Value2非NULL值的唯一ID数量

解决方案

原始数据表

IDTypeDateValue1Value2
1A31-Oct-22NULL0.5
1B31-Oct-22NULL0.6
1C31-Oct-220.80.7
1A30-Sep-220.6NULL
2A31-Oct-220.2NULL
2C31-Oct-22NULL0.3
2B30-Sep-22NULLNULL
2D30-Sep-22NULLNULL

需求说明

按Date字段分组,统计每个日期下:

  • Value1列存在非NULL值的唯一ID数量
  • Value2列存在非NULL值的唯一ID数量

实现SQL

SELECT
    Date,
    COUNT(DISTINCT CASE WHEN Value1 IS NOT NULL THEN ID END) AS Value1,
    COUNT(DISTINCT CASE WHEN Value2 IS NOT NULL THEN ID END) AS Value2
FROM
    your_table_name
GROUP BY
    Date
ORDER BY
    Date DESC;

代码解释

  1. CASE表达式:针对每个值列,筛选出非NULL的记录并保留对应ID;NULL值记录的CASE返回空值,不会被COUNT统计。
  2. COUNT(DISTINCT ...):对筛选后的ID去重计数,确保同一日期下同一个ID即使有多条非NULL记录,也只统计一次。
  3. GROUP BY Date:按日期分组,输出每个日期的独立统计结果。

执行结果

DateValue1Value2
31-Oct-2222
30-Sep-2210

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:55:20