我已经研究了这个基本的内部连接一段时间了,但我似乎无法让它工作。问题是:
Given the CITY and COUNTRY tables, query the names of all the continents (COUNTRY.Continent) and their respective average city populations (CITY.Population) rounded down to the nearest integer.
以下 SQL 将查询一个大陆的平均城市人口,但我不知道如何概括它。
SELECT DISTINCT cc.NAME, AVG(c.POPULATION) FROM
CITY c
INNER JOIN COUNTRY cc
ON c.COUNTRYCODE = cc.CODE
WHERE cc.CONTINENT = 'a continent'
ORDER BY cc.CONTINENT;
最佳答案
SELECT cc.CONTINENT, cc.NAME, FLOOR(AVG(c.POPULATION)) AS population
FROM CITY c
INNER JOIN COUNTRY cc ON c.COUNTRYCODE = cc.CODE
GROUP BY cc.CONTINENT, cc.NAME
ORDER BY cc.CONTINENT, cc.NAME;
应该可以。我更喜欢对名称等进行编码(但这取决于您和个人喜好):
SELECT `cc`.`CONTINENT`, `cc`.`NAME`, FLOOR(AVG(`c`.`POPULATION`)) AS `population`
FROM CITY `c`
INNER JOIN COUNTRY `cc` ON `c`.`COUNTRYCODE` = `cc`.`CODE`
GROUP BY `cc`.`CONTINENT`, `cc`.`NAME`
ORDER BY `cc`.`CONTINENT`, `cc`.`NAME`;
关于mysql - 基本加入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37865775/