2013-07-03 25 views
0

我不確定主題描述問題的程度如何,但它是我能想到的最好的。我有兩個表格:SQL命令對GROUP BY執行COUNT並附加一些額外的數據?

Users     UserNames 

UserID | CompanyID  UserID | Name 
-------------------- --------------- 
    1 | 30   1 | John 
    2 | 32   2 | Anne 
    2 | 32   3 | Mark 
    3 | 33   4 | Kris 
    4 | 32   5 | Tom 

我想創建的是某個特定公司的用戶摘要。例如,對於CompanyID 32創造了總結會導致:

UserID | Name | Count 
--------------------- 
    2 | Anne | 2 
    4 | Tom | 1 

使用下面的SQL查詢接近:

SELECT UserID, Count(UserID) 
FROM Users 
WHERE CompanyID = 32 
GROUP BY UserID 

UserID | Count 
--------------------- 
    2 | 2 
    4 | 1 

但我無法弄清楚如何添加名稱列。我錯過了明顯的東西嗎?從SQL新秀

感謝, 傑森

回答

1
SELECT Users.UserID, Count(Users.UserID), UserNames.Name 
FROM Users 
INNER JOIN UserNames ON UserNames.UserID = Users.UserID 
GROUP BY Users.UserID, UserNames.Name 

選項,您可以再添加以下行只得到誰出現不止一次

HAVING Count(Users.UserID) > 1 
+0

哇,你是快的用戶。我只是回來發帖子,因爲自然我發佈問題後立即找到答案。我寧願把信用給別人,但一旦冷卻時間計時器用完了:) – Jason

+0

讚賞:)祝你好運與你的項目 – Koryu