DB2按照欄位的指定順序排序

2021-09-24 21:49:42 字數 543 閱讀 9933

我們經常會遇到這樣乙個問題,某個列的可能值為 1, 2, 3。現在需要按照 2, 1, 3 的順序排序,該怎麼辦呢?

mysql中可以:

select * from my_table where code in(1, 2, 3) order by field(code, 2, 1, 3)
db2中有個函式decode,用法為

decode(column, case1, value1, case2, value2,..., casen, valuen, default)
其中,column 表示某個列,casen和valuen表示當值為casen時,返回valuen,預設值為default。

這樣,可以利用decode給列按照指定的順序排序

select * from my_table where code in(1, 2, 3) order by  decode(code, 2, 1, 1, 2, 3)
注意: 此方法無法使用索引排序,可能會有效能問題

db2 某個字段排序 DB2 分組排序

from rank 對錶中的資料進行分級排序.譬如有張學生成績統計單的表student result name number kemu fenshu li 0113101 高數 90 zhang 0113098 高數 80 wang 0113077 高數 70 li 0113101 物理 80 zh...

DB2的字段型別

db2的字段型別如下 字段型別 描述字段長度及其預設值 char size 用於儲存定長 size 位元組的字串資料。每行定長 不足部分補為空格 最大長度為254位元組,預設值為每行1位元組。varchar size 用於儲存變長的字串資料。其中最大位元組長度由 size 指定。每行長度可變,最大長...

mysql查詢按照指定欄位的指定順序進行排序

之前我們已經了解的mysql按照中文進行排序的實現方法了 那麼如何按照指定欄位的指定順序進行排序呢?例如有乙個使用者表user,有id,username,status欄位,status的字段值有1,2,3,4四種情況,如何將使用者表中的資料按照status欄位的2,4,1,3順序進行排序呢?這時候需...