我想计算特定字段='Q1'的行数。
我通常使用count(special_field),但这不允许我只计算那个字段='Q1'。
查询SUM(particular_field = 'Q1')
是否可以解决此问题?或者我能够count(particular_field = 'Q1')
吗?
答案 0 :(得分:3)
你可以做到
select count(*)
from table
where particular_field = 'Q1'
或
select sum(case when particular_field ='Q1' then 1 else 0 end)
from table
答案 1 :(得分:2)
您应该可以在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