具有不同计数聚合的SQL查询
出版者具有不同计数聚合的SQL查询,sql,Sql,出版者 pub_id title_id city 1 1 NY 1 2 NY 2 3 CA 3 4 VA 头衔 title_id price genre 1 10 Horror 2 5 Bio 3 50 Science 问题: 创建一个SQ
pub_id title_id city
1 1 NY
1 2 NY
2 3 CA
3 4 VA
头衔
title_id price genre
1 10 Horror
2 5 Bio
3 50 Science
问题:
创建一个SQL查询,该查询提供
-酒吧id
-头衔
-恐怖类标题
我一直很难编写这个SQL查询,无法理解如何在同一个查询中同时包含标题和恐怖类型的标题。如果能在这方面得到任何帮助,我将不胜感激。多谢各位
到目前为止,我尝试过的查询不知道如何将标题与恐怖类型结合起来:
select a.pub_id, count(a.titles)
from publisher a
left join titles b on a.title_id = b.title_id group by a.pub_id
如果我使用have,那么我将无法计算标题的总数 使用以下查询获得结果
select
pub_id,
count(*) as [titles],
SUM(CASE WHEN genre='horror' then 1 else 0 END) as [horror titles]
from Publisher a
inner join titles b on a.title_id=b.title_id
group by
pub_id
您可以使用CASE语句来执行此操作您可以使用此查询来获得预期的输出
select t.pub_id, COUNT(t.title_id) as title_id, t2.genre
from table1 t
inner join
table2 t2
on t.title_id = t2.title_id and t2.genre like 'Horror%'
group by t.pub_id, t2.genre
注意:将表1和表2的名称更改为您的表名
这里显示了输出
嗨,vkp,我已经用我尝试过的查询更新了问题。我不知道在这种情况下如何使用have。此外,我还可以使用另一个查询,例如选择a.pub_id,counta.titles,从发布者a选择counta.titles左连接a.title_id=b.title_id上的titles b,从发布者a左连接a.title_id=b.title_id上的titles b,从发布者a左连接a.title_id=b.title_id组