mysql - 为 mysql 查询指定两种不同的排序顺序

标签 mysql sql sorting

我有一个按降序对数字列进行排序的查询。此列(附图中的YTD%)是正数和负数的混合。 ORDER BY ytd DESC 首先显示正值最高的数据,依此类推。
然而,我想按降序对列进行排序(因此正数位于负数之前),但数字从最小正数到最高数,从最小负数到最大负数开始。所以 1.50、5.10、7.10 等。

image showing current sort order

最佳答案

您可以在order by中使用多个键和表达式:

order by (ytd > 0) desc,  -- put positive numbers first
         ytd asc

关于mysql - 为 mysql 查询指定两种不同的排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32607294/

相关文章:

mysql - 如何编写动态 mysql 历史触发器

sql - 如何插入带有子查询的多行作为值之一?

r - 如何在 R 中按一个变量对数据帧进行排序,同时对其他变量进行分组

java - Shaker排序的条形演示一次对所有条形进行排序-Java

java - TreeMap 之后的排序技术?

php - MySQL DELETE 查询未执行

php - 在mysql上查询数据后制作PHP页面

php - 当我从数组中检索一个对象时,对象数组是空的

mysql master log pos在全局锁期间发生变化?

SQL向现有查询添加日期转换