name | sub1 | sub2 | sub3
__________________________
prad | poor| good | poor
vas | good | poor | poor
我想计算每个人得到的“贫困”人数
我尝试查询
"SELECT name, COUNT(name) FROM tbl_name where (sub1,sub2,sub3)='poor' group by name;"
它不起作用..请帮助
如何计算行数?
最佳答案
如果您的表中可以有许多相等的名称,请尝试以下操作(您未指定主键):
select name, sum(
if (sub1='poor', 1, 0) +
if (sub2='poor', 1, 0) +
if (sub3='poor', 1, 0)
) as total from Data
group by name;
这是一个example
如果您的表中没有重复的名称,则执行以下操作:
select name,
if (sub1='poor', 1, 0) +
if (sub2='poor', 1, 0) +
if (sub3='poor', 1, 0)
as total from Data
这是一个example
让我知道这个是否奏效。
关于mysql - 如何在mysql表中按行计算特定字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9151202/