【发布时间】:2021-11-24 19:26:55
【问题描述】:
我有一个关于在某些条件下加入 3 个表的问题。
我有 3 张表,国家、地区、城市。我想要的只是返回每个国家人口最多的城市,并排除人口为 100.000 或更少的城市。问题是每个表都与传递给下一个表的 id 相连。让我详细说明:
国家/地区表:
| id | iso_code | name |
|---|---|---|
| 1 | IN | India |
| 2 | US | United States |
区域表:
| id | country_id | name |
|---|---|---|
| 3 | 1 | Delhi |
| 4 | 1 | Manipur |
| 5 | 2 | Nevada |
城市表:
| id | region_id | name | population |
|---|---|---|---|
| 6 | 3 | New Delhi | 320.000 |
| 7 | 3 | Delhi | 10.000.000 |
| 8 | 4 | Imphal | 220.000 |
| 9 | 5 | Las Vegas | 624.000 |
输出应如下所示:
| Country | City |
|---|---|
| India | Delhi |
| United States | Las Vegas |
我做了很多研究,但似乎找不到解决方案。 提前谢谢你。
【问题讨论】:
-
'排除人口为 1.000.000 或更少的城市。' - 那么为什么你的输出中有 las vegas?
-
我删除了冲突的标签;请标记您实际使用的RDBMS。
-
你说得对,我的意思是 100.000 谢谢你注意到@P.Salmon
-
row_number()的案例 -
'I mean 100.000' in thet case new delhi and imphal 应该出现?
标签: sql