sql - 对列进行排序并在排序后对其进行自定义
问题描述
有什么办法可以让我把其他国家放在桌子的底部。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
解决方案
一种方法是在 ORDER BY 子句中使用 case 表达式。
ORDER BY CASE country WHEN 'Other' THEN 1 ELSE 0 END, total_customers DESC
推荐阅读
- swift - 如何将协议与导航控制器结合使用?
- php - PHP - IMAP:保存附件并重命名
- javascript - 如何将正文内容分成两半并使用纯 Javascript 在中间插入 html
- apache-kafka - 使用 kafka 连接的 CSV 数据流
- python - 有没有更好的方法来优化这个战舰“射击”功能?
- dart - 如何使用 webdev build 构建两个版本?
- react-native - 更改按钮颜色 ui 小猫反应原生
- eclipse - 在 xtend eclipse 中创建新类时出错
- vue.js - axios POST请求在数据库中正确保存数据后抛出500错误
- c++ - QVector (3D) [] 运算符在 3 级 for 循环中不一致