我有4個表:MySQL的複雜的選擇查詢
user,
administrative_division,
assignment,
user_has_assignment
用戶和administrative_division之間有一個多對一的關係,其中許多是用戶和一個是administrative_division。在用戶和分配之間,通過user_has_assignment表存在多對多關係。
我能得到多少用戶在每個administrative_division使用以下命令:
select division_id, count(*) from user group by division_id;
其中,例如,給了我這樣的事情:
division_id count(*)
1 4
2 10
等
我可以通過使用這個命令得到每個用戶擁有多少分配:
select user_id, count(*) from user_has_assignment group by user_id;
這給類似的結果
user_id count(*)
1 2
2 10
但我不知道我怎麼能在一個這樣的查詢結果得到:
division_id user_count assignment_count
1 10 20
2 2 4
其中USER_COUNT在每個用戶的總數administrative_division和assignment_count是來自一個特定administrative_division的用戶擁有的所有分配的總和。
如果您在同一個任務中有兩個用戶,您希望發生什麼?那會給計數加1或2嗎? – jswolf19 2011-03-22 12:23:21
它會增加2的數量。 – Nurjan 2011-03-22 13:33:48