如何根据一列排序,然后使用另一列再次排序输出?

马哈詹先生

我有一个表 [world] 有字段(名称、人口、GDP、面积等)。我能拿到这样的桌子,这很好

World 

name    Total Populat.. Pop Density/KM
China   19.18            142.3
India   17.51            393.6
USA     4.47             32.4
Indonesia 3.54           132.4
Brazil    2.85           23.8
Pakistan   2.64          213.2
Nigeria   2.51           193.2
Bangladesh 2.20          1060.9
Russia    2.05            8.5
Japan     1.79           336.3

使用代码。

SELECT name, 
ROUND (population/(SELECT sum(population) FROM world )* 100,2 ) as 'Total Population',
ROUND (population/area ,1) as 'Pop Density/KM'
FROM world 
ORDER BY 2 Desc LIMIT 10 

我正在尝试使用此代码

SELECT name, 
ROUND (population/(SELECT sum(population) FROM world )* 100,2 ) as 'Total Population',
ROUND (population/area ,1) as 'Pop Density/KM'
FROM world 
ORDER BY  2 DESC LIMIT 10, 3

这样我就可以有一个表格,显示按人口排列的前 10 行,但按第 3 列对它们进行排序。简而言之,我希望能够只拥有这些记录(如上表所示),但根据流行密度/KM 降序进行排序。我没有得到想要的结果

戈登·利诺夫

您需要使用子查询。但是不要对列别名使用单引号!仅对字符串和日期常量使用单引号。

所以:

SELECT *
FROM (SELECT name, 
             ROUND(population/(SELECT sum(population) FROM world) * 100, 2) as "Total Population",
             ROUND(population/area, 1) as "Pop Density/KM"
      FROM world 
      ORDER BY "Total Population" DESC
      LIMIT 10 
     ) w
ORDER BY "Pop Density/KM";

在 MariaDB 中,您还可以使用反引号作为转义字符。实际上,我建议重命名列,这样它们根本不需要转义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按一列排序,但如何根据非数字的另一列进行排序?

根据列表对列进行排序,然后对数据框中的另一列进行排序

最好的方法是基于一列对numpy数组进行排序,然后根据另一列进行子排序?

根据一列的相同值进行分组和排序,然后对这些组中的另一列进行排序

如何根据另一列数值对一列文本进行排序?

按一列排序,然后按另一列排序

在熊猫中对列进行排序,然后在保持上一列排序的同时对另一列进行排序

在Pandas Dataframe中按一列排序,然后按另一列分组?

根据另一列的顺序对一列进行排序-Excel

如何根据同一输出中的观察对每一列进行排序?

如何在1列上对表进行排序,然后在PHP中对另一列进行排序

如何根据一列对查询结果进行排序?

如何使用另一列的排序顺序对条形图进行排序?

如何根据postgresql中的另一列对字符串聚合进行排序?

如何对SQL ORDER BY进行排序,但根据另一列将结果分组?

对一列进行排序,以使一列跟随另一列的值

如何通过一列和另一列的排序值组?

如何按一列过滤,而按另一列排序?

数据表,如何让一列用图标对另一列进行排序?

如何基于熊猫中的另一列数组对一列数组排序?

如何对一列进行排序取决于另一列的值:jquery tablesorter

如何对 Dataframe 中的 2 列进行排序,一列按降序排序,另一列按对应于第一列的字母顺序排序

按视图顺序排序,然后按另一列排序

MYSQL-如何使用ORDER BY和LIMIT对列进行排序,然后按另一列对这些结果进行排序

如何按列和下一行排序并按另一列排序?

按多列分组,根据一列排序,然后选择 R 中的前 n 个

按列分组,对另一列进行排序,然后为python中的行分配等级

Excel-按列对行进行分组,然后按另一列进行排序

如何根据另一列求和?