Sql 打印第一个城市人口少于另一个城市的成对城市的名称
假设我们有一个带有以下字段的表城市 城市 身份证Sql 打印第一个城市人口少于另一个城市的成对城市的名称,sql,Sql,假设我们有一个带有以下字段的表城市 城市 身份证 ID | Name | Population 1 | Tokyo | 200 2 | Houston | 300 3 | Manchester | 100 姓名…………char20 人口……国际 ID | Name | Population 1 | Tokyo | 200 2 | Houston | 300 3 | Manchester | 100 如何查询第一个城市的人口少于第二个城市并用空格分隔的城市对?姓名A的人口
ID | Name | Population
1 | Tokyo | 200
2 | Houston | 300
3 | Manchester | 100
姓名…………char20
人口……国际
ID | Name | Population
1 | Tokyo | 200
2 | Houston | 300
3 | Manchester | 100
如何查询第一个城市的人口少于第二个城市并用空格分隔的城市对?姓名A的人口<姓名B的人口
预期结果:
Manchester, Tokyo
Tokyo, Houston
我尝试了以下方法:
SELECT a.name, b.name
FROM CITY a,
CITY b
WHERE a.population < b.population AND a.population != b.population;
嗯,大概你需要把城市名称连在一起。你正在获取人口
SELECT CONCAT_WS(' ', a.name, b.name)
FROM CITY a JOIN
CITY b
ON a.population < b.population;
CONCAT_WS是一个方便的函数,它使用分隔符连接值
这种情况是不必要的:a.人口!=b、 人口为什么不去曼彻斯特、休斯顿?