为什么我不能将group by子句添加到此查询中?

时间:2017-06-26 04:58:56

标签: sql group-by

我正在从Sqlzoo填写此练习。

哪些国家的GDP高于欧洲各国? [仅提供名称。](某些国家/地区的gdp值可能为NULL) 答案是

选择名称,大陆 来自世界 其中gdp> =全部(选择gdp             来自世界              其中gdp> 0和continent ='欧洲')和大陆!='欧洲'

,结果是

名 中国 日本 美国

但是当我尝试根据他们的大陆进行分组和统计时,它不允许我这样做。

选择计数(名称),大陆 来自世界 其中gdp> =全部(选择gdp             来自世界              其中gdp> 0和continent ='欧洲')和大陆!='欧洲'和按大陆分组

它给我一个语法错误。它说"你的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以便在第1行"

' group by continent' 附近使用正确的语法

为什么不允许我这样做?

该地址的第6次练习https://sqlzoo.net/wiki/SELECT_within_SELECT_Tutorial

1 个答案:

答案 0 :(得分:1)

删除上一个andgroup by不是条件

试试吧

select count(name), continent 
from world 
where gdp >=all(select gdp 
                 from world 
                 where gdp>0 
                 and continent='Europe') 
and continent!='Europe' 
group by continent