【问题标题】:Counting multiple columns distinct values grouped计算分组的多列不同值
【发布时间】:2022-11-22 03:11:22
【问题描述】:

我一直在努力完成这项工作,但我不知道如何使用 CASE WHEN 来完成这项工作。具体来说,我按 id 分组,我需要计算每一列的每个不同值(我不是在寻找 thisthis,即使它看起来是同一个问题)。例如,我有这个数据:

ID Var_A Var_B
1  A      2022-01
1  B      2022-01
1  C      2022-01
2  A      2022-01
2  A      2022-02
2  Z      2022-03
2  Z      2022-01

预期产出

ID N_Var_A Var_B
1  3       1
2  2       4

您可以看到,我正在为每个 ID 在每列中查找不同值的数量。我一直在尝试:

SELECT ID, COUNT(Var_A), COUNT(Var_B)
FROM TABLE
GROUP BY ID

没有成功。有什么建议么?

【问题讨论】:

    标签: sql google-bigquery


    【解决方案1】:

    在下面使用

    select ID, 
      count(distinct Var_A) N_Var_A,
      count(distinct Var_B) N_Var_B
    from your_table
    group by ID
    

    【讨论】:

      猜你喜欢
      • 2015-04-22
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 2014-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多