簡體   English   中英

計算 SQL 中各列的唯一值

[英]Count Unique Values Across Columns in SQL

我有一張看起來像這樣的桌子

用戶
營地1 001
營地1 002
營地1 003
營地1 004
營地2 002
營地2 005
營地3 006
營地3 007
營地3 006
營地3 007

我正在嘗試獲取每個陣營中不在任何其他陣營中的用戶數量。 所以 output 看起來像這樣

唯一用戶數
營地1 3
營地2 1
營地3 2

我正在嘗試獲取每個陣營中不在任何其他陣營中的用戶數量。 所以我的 SQL 很生銹,但我試過了

select camp, count(distinct user)
from sample
group by camp

但我沒有得到想要的 output。 我將營地 1 設為 4,營地 2 設為 2,營地 3 設為 2。誰能指出我正確的方向

看起來很簡單:

SELECT camp, COUNT(DISTINCT user)
FROM sample As s
WHERE Not Exists
(
    SELECT 1
    FROM sample As s2
    WHERE s2.user = s.user
    And s2.camp != s.camp
)
GROUP BY camp

暫無
暫無

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

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