3 回答

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

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) ;

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降序排序的結果。
- 3 回答
- 0 關注
- 414 瀏覽
添加回答
舉報