Sql server 统计SQL Server中不同值的出现次数

Sql server 统计SQL Server中不同值的出现次数,sql-server,count,compare,Sql Server,Count,Compare,如何计算列中的值,然后根据结果仅选择引用次数较多的行 示例: 我们应该期望获得“好”观点多于“坏”观点的书籍列表:book1(2个“好”和1个“坏”)和book3(2个“好”);book2不能被选择,因为“好”和“坏”的数量相等;book4都不能被选择——只有一个“坏”“您可以在having子句中使用条件聚合和适当的筛选表达式: select book from t group by book having sum(case when opinion = 'good' then 1 when

如何计算列中的值,然后根据结果仅选择引用次数较多的行

示例:


我们应该期望获得“好”观点多于“坏”观点的书籍列表:book1(2个“好”和1个“坏”)和book3(2个“好”);book2不能被选择,因为“好”和“坏”的数量相等;book4都不能被选择——只有一个“坏”“

您可以在
having
子句中使用条件聚合和适当的筛选表达式:

select book
from t
group by book
having sum(case when opinion = 'good' then 1 when opinion = 'bad' then -1 end) > 0;

您可以在
having
子句中将条件聚合与适当的筛选表达式一起使用:

select book
from t
group by book
having sum(case when opinion = 'good' then 1 when opinion = 'bad' then -1 end) > 0;