SQL无法获得所需的查询

时间:2017-03-04 16:03:21

标签: sql oracle

说我们有以下关系: 作者(姓名,标题,语言)

我想要完成的是查询列出所有作者以及他们制作的特定语言的书籍数量,如果他们没有使用该语言,则显示为零。

到目前为止我尝试过的是

select name, count("language") as SomeLanguage 
from Author 
where "language"='English' 
group by name;      

其中列出了他们制作的指定语言的书籍数量,但我不知道如何包括那些没有用该语言书写的作者。

示例输出:

Name | SomeLanguage
----------------
Bill | 4 
Rob  | 1
Bob  | 0

1 个答案:

答案 0 :(得分:0)

您想要条件聚合:

select name,
       sum(case when language = 'English' then 1 else 0 end) as SomeLanguage
from Author 
group by name;