我想基于两列对表进行排序,首先是 asc 排序,然后是如果第一个字段是奇数然后 asc 排序,如果第一个字段是偶数然后 desc 排序。
例如我在表中有一些数据
我想把它排序成喜欢的
这个sql怎么写?
最佳答案
您可以简单地ORDER BY -1 * SecondField
当FirstField
甚至。
SQL Fiddle
SELECT *
FROM tbl
ORDER BY
FirstField,
CASE
WHEN FirstField % 2 = 0 THEN -1 * SecondField
ELSE SecondField
END
关于SQL Server,按两列排序,第一个asc排序,第二个asc或desc根据第一个奇偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32132720/