mysql - 基本加入mysql

标签 mysql join

我已经研究了这个基本的内部连接一段时间了,但我似乎无法让它工作。问题是:

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;

The City Table The Country Table

最佳答案

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/

相关文章:

mysql选择查询

mysql - 计算每行中由特殊符号字符串分隔的数量,而不使用任何其他表或存储过程

mysql - 如果第二个表满足要求,则从多个表中选择数据

mysql - 如何连接这两个表?

sql - 我们可以将本地 SQL Server 数据库中的表连接到 Azure Delta Lake 中 Delta 表中的表吗?我有什么选择

php - 无法将 swift 应用程序连接到 MySQL

Mysql:当其中一行以相同的字符串开头时如何找到不同的其他行值

mysql - Rails SQL 按最近收藏的帖子排序

mysql - 在 MySQL 中创建带有右手约束的左外连接

apache-spark - Spark : RDD Left Outer Join Optimization for Duplicate Keys