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

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

最佳答案

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

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

10-07 18:33