2011-02-12 77 views
0

我有4個表,稱爲用戶,曲目列表,評論,投票。MySql - 返回3個不同的計數

我想回到專輯曲目的數量爲每個用戶,所以我做了這個查詢:

SELECT datereg, nickname, count(*) 
FROM users JOIN tracklist ON nickname=usersub 
GROUP BY nickname 
ORDER BY count(*) DESC, nickname ASC 

現在,我想退曲目列表和評論和投票的數量。所以我寫道:

SELECT datereg, nickname, count(*) 
FROM users JOIN tracklist ON nickname=usersub JOIN comments ON nickname=usercom JOIN votes ON nickname=uservote 
GROUP BY nickname 
ORDER BY count(*) DESC, nickname ASC 

但我也想返回3個不同的計數(*),1爲tracklist,1爲評論和1爲投票。

當然,如果count(*)爲0,我想返回0.所以這個值必須在結果中包含,並且不能被忽略。

我該如何做這個查詢?謝謝你的努力!

+1

我認爲你可能需要單獨的查詢或至少一個查詢與單獨的子查詢。這些是3個不同的無關數據。如果它們不相關,則無法將數據表示爲關係查詢... – 2011-02-12 21:01:15

+0

不知道如何執行此3個子查詢:) – markzzz 2011-02-12 21:18:18

回答

3

你可以使用3個獨立的子查詢