我有一张像
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 写入该数字。