[英]Issue With Distinct Count SQL Server
我在查詢我的人數時遇到問題。 我有一個查詢,我試圖查看每個汽車模型分配了多少人。
我希望這樣返回數據:
Car Model People
Accord 5
Malibu 6
Model S 4
現在,我通過查詢得到了這個:
Car Model People
Accord 15
Malibu 15
Model S 15
總共有15個人,我得到的是回報,而不是每個模型的數量都有所增加。.我將在下面發布查詢:
SELECT b.[ModelName], COUNT(DISTINCT a.[CustomerID])
FROM firstTable a
left join secondTable b on b.[ModelID] = a.[ModelID]
WHERE [Country] = 'US'
GROUP BY b.[ModelName]
您有一個left join
,並從第一個表開始計數。 您要從第二個開始計算:
SELECT b.[ModelName], COUNT(DISTINCT b.[ModelId])
FROM firstTable a LEFT JOIN
secondTable b
on b.[ModelID] = a.[ModelID]
WHERE [Country] = 'US'
GROUP BY b.[ModelName]
但是,您在第二個表中按模型名稱進行匯總非常可疑,因為它可以為NULL
。 您可能還只想在第一個查詢中使用RIGHT JOIN
(實際上,我會反轉表並仍然使用LEFT JOIN
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.