如何實現Oracle的自定義排序

2022-06-10 14:05:13 字數 3442 閱讀 7052

1樓:匿名使用者

在最後的查詢語句後面跟上 order by 列名; 預設是升序,降序的話再個 desc

oracle自定義排序查詢

2樓:lzs丶灬

select * from a order by (case when id=3 then 8 else id end) desc;

3樓:匿名使用者

select * from a  order by  decode(state,3,0,state)

tp5框架如何order自定義排序

4樓:龍捲風中的孩子

->order("field(id,3,6,9,1,2,5,8,7)")

如果使用模型查詢的話就是:表名::where("id","in","3,6,9,1,2,5,8,7")->order("field(id,3,6,9,1,2,5,8,7)")->select();

看見的朋友,如果對您有幫助的話請點個贊,謝謝!

5樓:半橋煙雲半青雲

其實手冊上已經寫了

orderraw("field(users.id, $ids)"),或者

order(db::raw("field(users.id, $ids)"))

tp5手冊

6樓:小白小黑大小花五隻喵

使用tp的expression類

別問我為什麼知道,我也是遇到這種需求,然後看原始碼才搞定的$exp = new \think\db\expression('field(id,3,6,9,1,2,5,8,7)');

$result = $query->where(['id'=>['in','3,6,9,1,2,5,8,7']])->order($exp)->select();

7樓:

thinkphp使用的資料庫是mysql,mysql多個欄位排序的語句:

select

* from `表名` where 條件 order by 欄位1 desc,欄位2

asc,...

thinkphp中排序方法為

$user->where('score>0')->order('score desc')....;

但是例子中只能單欄位排序,不過可以理解成字串,那就可以這樣寫試試

$user->where('score>0')->order('score desc,id asc,...')....;

oracle怎麼按插入順序排列

8樓:龍氏風采

oracle按照指定順序進行排序

實驗如下:

1.新建表

create table br_dict(

id number primary key not null,

d_item varchar2(32),

d_value varchar2(32),

d_type varchar2(32),

d_sort number

)2.插入資料

insert into br_dict(id, d_item,d_value,d_type,d_sort) values

(10, '10', '測試1', '', 0);

insert into br_dict(id, d_item,d_value,d_type,d_sort) values

(11, '11', '測試2', '', 1);

insert into br_dict(id, d_item,d_value,d_type,d_sort) values

(12, '12', '測試3', '', 2);

insert into br_dict(id, d_item,d_value,d_type,d_sort) values

(13, '13', '測試4', '', 3);

insert into br_dict(id, d_item,d_value,d_type,d_sort) values

(14, '14', '測試5', '', 4);

insert into br_dict(id, d_item,d_value,d_type,d_sort) values

(15, '15', '測試6', '', 5);

3.兩種查詢方式

a.instr函式在oracle/plsql中是返回要擷取的字串在源字串中的位置來自定義排序方式

select * from br_dict d where d.d_value like '%測試%' order by instr( '3,1,2,0,5,4',rtrim(cast(d_sort as nchar)));

b.執行decode定義某個字元的排序位置類似的實現排序方式

select * from br_dict d where d.d_value like '%測試%' order by decode(d_sort, '3', '01', '2', '02', '1', '03', '0', '04', '5', '05', '4', '06');

oracle怎麼實現絕對按插入順序排序

9樓:

order by rowid 可以,但是前提是你插入完資料後沒有做過刪除,更新

10樓:殤忄路

增加一列,使用序列和觸發器實現自動增長

oracle 中幾種排序方法

11樓:匿名使用者

order by desc 降序

order by asc 升序

oracle怎麼用order by按自己規定的字串排序?

12樓:匿名使用者

你可以增加一個數字型別欄位,按照你想要的排序賦值,然後order by這個欄位就行。

13樓:掌樂秋梵

按照自定義的順序排序: select * from table_name order by decode(col_name,'value1',1,'value2',2,'value3',3,'value4',4,...'valuen',n);

select * from table_name order by decode(col_name,'深證',1,'上海',2,'北京',3,'南京',4,...'valuen',n);

oracle 自定義排序 50

14樓:51cto學院

能說一下你的具體需求嗎?你這個太抽象了,

15樓:冼慧雅

另建一個欄位,運用存放順序,不久行了。

oracle能否按自定義順序排序

呵呵,這個題目有意思。直接排啊。order by ppmc desc asc摘了段 47.中文是如何排序的?oracle9i之前,中文是按照二進位制編碼進行排序的。在oracle9i中新增了按照拼音 部首 筆畫排序功能。設定nls sort值 schinese radical m 按照部首 第一順序...

如何新增易信自定義表情,微信怎麼新增自定義表情

在雙人或多人對話介面,長按聊天頁的表情即可新增到自定義表情庫 也可通過表情按鈕 心形圖示 點選 通過手機相簿進行表情新增。微信怎麼新增自定義表情 微信中新增自定義表bai 情方法如下du 1 首先隨便打zhi開一個聊天視窗dao。2 然後點選聊天視窗中笑臉。4 點選了點紅心或加號就會開啟手機內的相簿...

請用自定義函式的形式程式設計實現,求s m n k m n k從鍵盤輸入(值均小於7)編多套不同的程式

1,include long foo int n int main void 2,include long foo int n int main void 3,62616964757a686964616fe4b893e5b19e31333264636332 include long foo int ...