簡體   English   中英

不同計數SQL Server的問題

[英]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.

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