Oracle sql 把hjmc等于实施方案的,排序在第一,并且把sxh等于-1的排在最后
2023-12-20 19:56:42
要将hjmc
等于"实施方案"的行排序在第一,并将sxh
等于-1的行排在最后,你可以使用ORDER BY
子句来实现。假设你的数据表名为your_table_name
,你可以使用以下SQL查询:
SELECT *
FROM your_table_name
ORDER BY
CASE
WHEN hjmc = '实施方案' THEN 0
ELSE 1
END,
CASE
WHEN sxh = -1 THEN 1
ELSE 0
END,
hjmc;
这里的逻辑是:
- 使用第一个
CASE
语句为hjmc
等于"实施方案"的行赋予一个优先级(这里是0),而对于其他的行赋予一个次优级(这里是1)。 - 使用第二个
CASE
语句为sxh
等于-1的行赋予一个最高优先级(这里是1),而对于其他的行赋予一个次优级(这里是0)。 - 使用
ORDER BY
子句按照这些优先级对数据进行排序。首先,按照第一个CASE
语句的排序,然后按照第二个CASE
语句的排序,最后按照hjmc
的值进行排序。 - 由于最高优先级是1,所以"实施方案"行会出现在所有其他行之前,而
sxh
等于-1的行会出现在所有其他行的最后。
文章来源:https://blog.csdn.net/Rockandrollman/article/details/135110854
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!