sql自定义排序order by多个
时间: 2023-12-26 08:24:41 浏览: 105
mysql自定义排序顺序语句
5星 · 资源好评率100%
在SQL中,ORDER BY子句用于对查询结果进行排序。可以使用多个列进行排序,也可以使用自定义排序规则。以下是一些常见的自定义排序规则:
1.使用CASE语句:可以使用CASE语句根据条件返回不同的值,然后将这些值用于排序。例如,可以使用以下语句将状态为0的记录排在前面,状态不为0的记录排在后面,并按创建日期降序排序:
SELECT * FROM CUS_CASH_FORM ORDER BY ( CASE WHEN STATE = '0' THEN 1 ELSE 2 END ), CREATE_DATE DESC
2.使用自定义函数:可以使用自定义函数来计算每个记录的排序值,然后将这些值用于排序。例如,可以使用以下语句按记录中数字列的绝对值进行排序:
SELECT * FROM MY_TABLE ORDER BY ABS(NUMBER_COLUMN)
.使用子查询:可以使用子查询来计算每个记录的排序值,然后将这些值用于排序。例如,可以使用以下语句将状态为0的记录排在前面,状态不为0的记录按创建日期降序排序:
SELECT * FROM CUS_CASH_FORM WHERE STATE = '0' UNION ALL ( SELECT * FROM CUS_CASH_FORM WHERE STATE != '0' ORDER BY CREATE_DATE DESC )
阅读全文