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 | ---------------------------------------------------
私はtypes
テーブルのタイプに基づいてdistinct details
のカウントを取得する必要があります。
私はこのクエリを試しましたが、私が得ている最大値は、すべてのカウントであり、明確な値ではありません。
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