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、 人口

为什么不去曼彻斯特、休斯顿?