私は次のようなテーブルを持っています
ID Name
1 ABC
1 DEF
1 VVV
1 BBB
1 BCD
2 ZZZ
2 BAA
3 AAA
3 BBB
3 BBC
IDでグループ化された、Aで始まるすべての名前とBで始まるすべての名前の比率を取得したいと思います。
したがって、出力は次のようになります。
ID Ratio
1 0.5
2 0
3 0.33
。
SELECT (ID, (SELECT COUNT(*) FROM `table` WHERE name LIKE 'A%') /
(SELECT COUNT(*) FROM `table` WHERE name LIKE 'B%')) AS `ratio` from table Group by ID
私に正しい答えを与えません。すべてのIDのA/Bの合計比率が考慮され、すべてのIDにその数が書き込まれます。