首页 > 解决方案 > 对列进行排序并在排序后对其进行自定义

问题描述

有什么办法可以让我把其他国家放在桌子的底部。total_customers DESC我用But I want the Other in country 在底部对表格进行了排序?

    country        total_customers  total_sales avg_sales   avg_order_val
0   Other                15          1094.94    7.448571    72.996000
1   USA                  13          1040.49    7.942672    80.037692
2   Canada               8            535.59    7.047237    66.948750
3   France               5            389.07    7.781400    77.814000
4   Brazil               5            427.68    7.011148    85.536000
5   Germany              4            334.62    8.161463    83.655000
6   United Kingdom       3            245.52    8.768571    81.840000

期望的输出:

    country        total_customers  total_sales avg_sales   avg_order_val
0   USA                  13          1040.49    7.942672    80.037692
1   Canada               8            535.59    7.047237    66.948750
2   France               5            389.07    7.781400    77.814000
3   Brazil               5            427.68    7.011148    85.536000
4   Germany              4            334.62    8.161463    83.655000
5   United Kingdom       3            245.52    8.768571    81.840000
6   Other                15          1094.94    7.448571    72.996000

标签: sqlsqlite

解决方案


一种方法是在 ORDER BY 子句中使用 case 表达式。

ORDER BY CASE country WHEN 'Other' THEN 1 ELSE 0 END, total_customers DESC

推荐阅读