亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在oracle中怎樣實現排序是按查詢的條件來排的?

在oracle中怎樣實現排序是按查詢的條件來排的?

HUX布斯 2022-04-15 15:11:48
在oracle中怎樣實現排序是按查詢的條件來排的,以下是mysql的實現 select * from t_exam_item_info where i在oracle中怎樣實現排序是按查詢的條件來排的,以下是mysql的實現select * from t_exam_item_info where item_num in ( 'GMEXIN10484','HXEXIN10472','HXEXIN10471','GMEXIN10487','GMEXIN10483' )order by find_in_set(item_num,'GMEXIN10484','HXEXIN10472','HXEXIN10471','GMEXIN10487','GMEXIN10483' )最后出來的列表是按'GMEXIN10484','HXEXIN10472','HXEXIN10471','GMEXIN10487','GMEXIN10483'這個來排序
查看完整描述

3 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

將該字段進行某種函數的處理后進行排序。
但這里的數據看上去似乎沒有什么函數關系。
MYSQL的這個功能不錯,可惜在ORACLE里沒有見過。
既然是用戶自己的排序方法,那么感覺這個問題更偏重于應用邏輯。
一個思路:自己建立一個排序字段(PX),錄入信息的時候,用戶可以決定該條記錄的排序等級(自動、手動填寫該字段都可以)。應用的時候可以按照這個字段進行排序。這里是用戶指定的排序方式,以后要調整順序時,修改這個排序字段的值就可以了。

查看完整回答
反對 回復 2022-04-19
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

find_in_set這個函數不錯,可惜Oracle中沒有,但是我們可以變相應用,同樣可以起到相同的效果。
select
decode(teii.item_num,'GMEXIN10484',1,'HXEXIN10472',2,'HXEXIN10471',3,'GMEXIN10487',4,'GMEXIN10483',5) sequence ,
teii.*
from t_exam_item_info teii
where teii.item_num in ( 'GMEXIN10484','HXEXIN10472','HXEXIN10471','GMEXIN10487','GMEXIN10483' )
order by decode(teii.item_num,'GMEXIN10484',1,'HXEXIN10472',2,'HXEXIN10471',3,'GMEXIN10487',4,'GMEXIN10483',5) ;



查看完整回答
反對 回復 2022-04-19
?
www說

TA貢獻1775條經驗 獲得超8個贊

oralce中的查詢是按照字段來排序的,有升序【asc】,降序【desc】,你的查詢條件也是一字段,所以可以按照查詢條件所在的字段來排序。這個可能與mysql中查詢出來的效果是一樣的,
還可以將字段回上某個函數值來排序,這個就看你的需要了。如
select * from t_exam_item_info
where tem_num in ( 'GMEXIN10484','HXEXIN10472','HXEXIN10471','GMEXIN10487','GMEXIN10483' )
order by infocode desc;
這個是以字段infocode降序排序的結果。

查看完整回答
反對 回復 2022-04-19
  • 3 回答
  • 0 關注
  • 414 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號