2010-11-24 57 views
0

我正在查詢一個mysql數據庫。我有一個存儲用戶的主表以及存儲該用戶的朋友的另一個表。對於每個用戶,我想看看他們有多少個朋友 。這是我得到的。Sql不同的重複計數

ID FirstName LastName FriendID 
1  Andrew Smith  1 
1  Andrew Smith  5 
1  Andrew Smith  9 
2  John  Doe  3 
2  John  Doe  5 

這就是我想要得到的。

ID FirstName LastName Friends 
1  Andrew Smith  3 
2  John  Doe  2 

如果這還不夠詳細,請告訴我,我還會顯示我使用的表格和查詢。

+2

John Doe(ID 2)兩次映射到同一個FriendID(3)並計爲兩個朋友是否正確? – 2010-11-24 22:25:14

+0

哦,你是對的,更新。我試圖在不使用group by子句 – andrew 2010-11-25 17:43:10

回答

4
SELECT ID, FirstName, LastName, COUNT(FriendID) AS Friends 
    FROM Users GROUP BY ID, FirstName, LastName 

人們希望你不是真的存儲名字和姓氏的每UserFriendLink記錄。如果是的話,是時候用Users表(具有ID,First和Last)和UserFriendsLink表(具有UserID和FriendID)來規範化數據庫。