SQL Query for Repeated类别(计算每个类别中的项目)并且必须包含至少一个特定类型

时间:2017-03-29 20:47:01

标签: sql teradata

Example for count items in each category

SQL Query对每个category_id执行重复的item_id。为此,查询将是

Select item_id, category_id, COUNT(*) 
from table 
group by category_id, item_id 
having count(*)>1 

但是如何更改代码以仅过滤那些在重复计数中至少有一个A类的代码。

1 个答案:

答案 0 :(得分:1)

您也可以计算HAVING子句中的“A”:

Select item_id, category_id, COUNT(*) 
from table 
group by category_id, item_id 
having count(*) > 1 and sum(case when type = 'A' then 1 else 0 end) > 0;

根据您的样本数据,您可以将其缩短为:

Select item_id, category_id, COUNT(*) 
from table 
group by category_id, item_id 
having count(*) > 1 and min(type)= 'A' ;

但这取决于您使用的实际名称。