我正在使用MYSQL在世界数据库上使用city表,但是我得到了一些奇怪的结果,我知道这是错误的。我想知道为什么会这样以及如何解决这种情况。
pyspark
这是孟买的人口,当我尝试将名称绑定到这里时,我会得到:
select max(population) from city
## answer##
10500000 ##
答案 0 :(得分:0)
此查询:
select, name, max(population)
from city
没有道理。这是一个聚合查询(由于max()
)。它将仅返回一行(因为没有group by
)。但是name
的值是什么?
在标准SQL中,几乎所有数据库和最新版本的MySQL(具有默认设置)都会返回错误,表示“未聚合name
”。
较早版本的MySQL允许这种构造,并从数据的任意且不确定的行中选择name
的值。
您似乎真正想要的是:
select name, population
from city
order by population desc
limit 1;
答案 1 :(得分:-1)
第二个查询的正确语法为-
SELECT name, MAX(population)
FROM city
GROUP BY name;