簡體   English   中英

如何計算 SQL 中每個分區的不同對數?

[英]How to count number of distinct pairs per partition in SQL?

我想在我的表中獲得每個level的不同對組合的數量。

樣本數據:

level       group_no    item_no
oiegown     1           1
oiegown     1           2
oiegown     1           2
oiegown     1           3
oiegown     2           1
wefwefw     1           1
wefwefw     2           2

我的嘗試:

想做類似的事情

COUNT(DISTINCT group_no, item_no) 
  OVER (PARTITION BY level)
AS item_count

預期 Output:

level       item_count
oiegown     4           
wefwefw     2           

但似乎COUNT()在 BigQuery 中只接受一個參數。 如何修改我的查詢以獲得我想要的結果?

您可以將兩列合並為一個文本,並計算連接的文本

COUNT(DISTINCT CONCAT(group_no, item_no)) 
  OVER (PARTITION BY level)
AS item_count

使用以下查詢獲取預期結果:

SELECT level, COUNT(DISTINCT group_no || item_no) AS item_count
  FROM sample_table
 GROUP BY 1;

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM