sql - 如何在 SQL 中按特定条件排序
问题描述
Name | count
jaison 23
Drew 45
Abd 22
Ricky 55
OTHERS 10
我希望按从高到低的计数排序,并将 OTHERS 留在 SQL 表的底部。提前致谢。
解决方案
CASE
使用表达式很简单:
SELECT Name,Count
FROM SomeTable
ORDER BY CASE WHEN Name='OTHERS' THEN -1000 ELSE Count END desc
(假设Count
不能是否定的,它不应该是该词的任何简单含义)
(我通常会CASE
在上面链接到特定的文档。但是,在不知道您使用的是哪个 SQL 产品的情况下,如果您需要有关它的更多信息,我会留给您查找有关它的文档)
推荐阅读
- php - XAMPP Apache 显示路由器页面而不是应用程序
- amazon-web-services - 抛出 502 错误 AWS
- matrix - 如何取矩阵的最后n行
- java - 什么是用于可拆分 DoFn 读取无界 Iterable 的正确 RestrictionT?
- ibm-cloud - 设置用户在 LSF Spectrum 上使用批处理系统
- sql - Rank() SQL 或类似的东西
- coq - Coq 在 LTac2 中取消搁置
- visual-studio-code - 如何防止标签栏滚动到当前打开的标签?
- php - joedixon/laravel 翻译未更新
- java - 不执行通过 @query 注释对 Postgresql 的本机 sql 查询