【发布时间】:2020-08-04 01:35:15
【问题描述】:
我在使用 group by 并加入同一查询时遇到问题。 (我在 MySQL 中使用世界数据库,只有两个表。第一个 - 国家,第二个 - 城市)。我想获得每个大陆上最大的城市。这是我尝试过的
SELECT
k.Continent,
m.name,
MAX(m.Population)
FROM
city m
JOIN
country k ON m.CountryCode = k.Code
GROUP BY 1;
我在人口和大陆列中获得了不错的值,但城市名称错误。它不是人口最多的城市,而是每个大陆上排名第一的城市。
【问题讨论】:
-
向我们展示一些示例表数据和预期结果 - 作为格式化文本,而不是图像。并阅读minimal reproducible example。
-
您通常
GROUP BY与您SELECT相同的列,除了那些是设置函数的参数的列。 -
您使用的是哪个 MySQL 版本?
-
MySQL 8.0 版
-
很好,看看 GMB 的回答。
标签: mysql sql join select greatest-n-per-group