0
我有以下表格。MySQL根據不同表格的條件計數
Table : types -------------------- id | type -------------------- 1 | AA -------------------- 2 | BB -------------------- 3 | AA -------------------- 4 | BB -------------------- Table : users -------------------- id | username -------------------- 1 | abc -------------------- 2 | bcd -------------------- 3 | cde -------------------- 4 | def -------------------- Table : methods --------------------------------- id | user_id | details | type_id --------------------------------- 1 | 1 | detail_1 | 1 --------------------------------- 2 | 1 | detail_2 | 3 --------------------------------- 3 | 1 | detail_3 | 1 --------------------------------- 4 | 1 | detail_4 | 3 --------------------------------- 5 | 2 | detail_3 | 1 --------------------------------- 6 | 2 | detail_5 | 2 --------------------------------- 7 | 2 | detail_6 | 4 --------------------------------- 8 | 2 | detail_2 | 3 --------------------------------- 9 | 1 | detail_2 | 3 --------------------------------- 10 | 1 | detail_2 | 3 --------------------------------- Desired Result : --------------------------------------------------- UserName | No_of_AA_details | No_of_BB_details | --------------------------------------------------- abc | 4 | 0 | --------------------------------------------------- bcd | 2 | 2 | ---------------------------------------------------
我需要的distinct details
基於從types
表型計數。
我已經試過這個查詢,但我得到的最大值是所有的計數,而不是獨特的值。
SELECT u.username,
CASE WHEN t.type = 'AA' THEN count(distinct m.details) END AS No_of_AA_details,
CASE WHEN t.type = 'BB' THEN count(distinct m.details) END AS No_of_BB_details
FROM users as u inner join methods as m on u.id = m.user_id inner join types as t on t.id = m.type_id
GROUP BY m.user_id
SELECT u.username,
SUM(t.type = 'AA') AS No_of_AA_details,
SUM(t.type = 'AA') AS No_of_BB_details
FROM users as u inner join methods as m on u.id = m.user_id inner join types as t on t.id = m.type_id
GROUP BY m.user_id
歡迎任何建議。
謝謝對於這個回答,但是這個沒有提供一個類型的不同細節......它給出了這種類型的條目數量的總數...... :( – user2595861