本文主要是介绍Oracle sql 把hjmc等于实施方案的,排序在第一,并且把sxh等于-1的排在最后,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
要将hjmc
等于"实施方案"的行排序在第一,并将sxh
等于-1的行排在最后,你可以使用ORDER BY
子句来实现。假设你的数据表名为your_table_name
,你可以使用以下SQL查询:
SELECT *
FROM your_table_name
ORDER BY CASE WHEN hjmc = '实施方案' THEN 0ELSE 1END,CASE WHEN sxh = -1 THEN 1ELSE 0END,hjmc;
这里的逻辑是:
- 使用第一个
CASE
语句为hjmc
等于"实施方案"的行赋予一个优先级(这里是0),而对于其他的行赋予一个次优级(这里是1)。 - 使用第二个
CASE
语句为sxh
等于-1的行赋予一个最高优先级(这里是1),而对于其他的行赋予一个次优级(这里是0)。 - 使用
ORDER BY
子句按照这些优先级对数据进行排序。首先,按照第一个CASE
语句的排序,然后按照第二个CASE
语句的排序,最后按照hjmc
的值进行排序。 - 由于最高优先级是1,所以"实施方案"行会出现在所有其他行之前,而
sxh
等于-1的行会出现在所有其他行的最后。
这篇关于Oracle sql 把hjmc等于实施方案的,排序在第一,并且把sxh等于-1的排在最后的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!