我有一张表格如下:
field1 | field2
1 | ready
2 | ready
1 | in_progress
1 | ready
2 | in_progress
我如何计算" ready"的数量?每个field1的字段? 对于此示例,答案必须是:
field1 | field2
1 | 2
2 | 1
答案 0 :(得分:1)
简单的过滤和聚合将执行:
SELECT field1,
COUNT(*) AS field2
FROM your_table
WHERE field2 = 'ready'
GROUP BY field1;
如果你想得到那些count1值,其中count可以是0:
SELECT field1,
SUM(field2 = 'ready') as field2
FROM your_table
GROUP BY field1;
SUM(field2 = 'ready')
使用MySQL将true视为1而false视为0的事实。
答案 1 :(得分:0)
这可以使用count()函数使用简单聚合来完成:
select field1, count(field2) as field2
from yourtable
where field2 = 'ready'
group by field1
使用WHERE = 'ready'
过滤数据,然后计算field1
中每个值的行数。