我想计算特定字段 = 'Q1' 的行数。
我通常使用 count(particular_field),但这不允许我仅在该字段 = 'Q1' 时进行计数。
查询是否SUM(particular_field = 'Q1')
适用于这个问题?还是我能做到count(particular_field = 'Q1')
?
我想计算特定字段 = 'Q1' 的行数。
我通常使用 count(particular_field),但这不允许我仅在该字段 = 'Q1' 时进行计数。
查询是否SUM(particular_field = 'Q1')
适用于这个问题?还是我能做到count(particular_field = 'Q1')
?
你可以做
select count(*)
from table
where particular_field = 'Q1'
或者
select sum(case when particular_field ='Q1' then 1 else 0 end)
from table
您应该能够使用CASE
您的语句SUM()
(参见SQL Fiddle)
SELECT SUM(CASE WHEN particular_field = 'Q1' THEN 1 ELSE 0 END) yourCount
FROM yourTable
或者(参见SQL Fiddle) - 这将为您提供计数和每个字段的列表。如果您只想要一个值,则使用WHERE
子句进行过滤:
select count(*), particular_field
from yourTable
group by particular_field