0

我想计算特定字段 = 'Q1' 的行数。

我通常使用 count(particular_field),但这不允许我仅在该字段 = 'Q1' 时进行计数。

查询是否SUM(particular_field = 'Q1')适用于这个问题?还是我能做到count(particular_field = 'Q1')

4

2 回答 2

3

你可以做

select count(*)
from table
where particular_field = 'Q1'

或者

select sum(case when particular_field ='Q1' then 1 else 0 end)
from table
于 2012-08-20T19:00:14.403 回答
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 
于 2012-08-20T18:59:28.583 回答