在一個表請用一條sql陳述句查出所有的資料,查詢結果先按照指定用戶型別排序,然后按照id升序排序
uj5u.com熱心網友回復:
select * from t order by 用戶型別, id
uj5u.com熱心網友回復:
這個我試過了、還不行uj5u.com熱心網友回復:
描述詳細一些,你這個指定用戶型別是什么樣的
uj5u.com熱心網友回復:
最后排序:1 admin7 admin
3 user
4user
6user
2super user
5super user
uj5u.com熱心網友回復:
你這個順序是怎么出來的?用戶根據什么定了這么一個順序呢?
uj5u.com熱心網友回復:
有具體的資料嗎,給出一些來uj5u.com熱心網友回復:
用戶表里的資料與順序都是混亂的,按照要求排序出結果uj5u.com熱心網友回復:
create table aaa(did number(2),
dname varchar2(10)
);
insert into aaa values(1,'admin');
insert into aaa values(2,'super user');
insert into aaa values(3,'user');
insert into aaa values(4,'user');
insert into aaa values(5,'super user');
insert into aaa values(6,'user');
insert into aaa values(7,'admin');
uj5u.com熱心網友回復:
SQL>
SQL> create table aaa(
2 did number(2),
3 dname varchar2(10)
4 );
Table created
SQL> begin
2 insert into aaa values(1,'admin');
3 insert into aaa values(2,'super user');
4 insert into aaa values(3,'user');
5 insert into aaa values(4,'user');
6 insert into aaa values(5,'super user');
7 insert into aaa values(6,'user');
8 insert into aaa values(7,'admin');
9 end ;
10 /
PL/SQL procedure successfully completed
SQL> select * from aaa
2 order by decode(dname,'admin',1,'user',2,'super user',3) , did ;
DID DNAME
--- ----------
1 admin
7 admin
3 user
4 user
6 user
2 super user
5 super user
7 rows selected
SQL> drop table aaa ;
Table dropped
SQL>
uj5u.com熱心網友回復:
要是資料很大的話,這種需求很坑的
最好就是再增加一個欄位,用來指定排序
uj5u.com熱心網友回復:
感謝,我也做出來了!O(∩_∩)O謝謝uj5u.com熱心網友回復:
坑?這話怎么說?可以簡單說說?uj5u.com熱心網友回復:
這個估計是作業,或者是兩個系統中間資料的傳輸,現實的業務系統肯定會有另一個維表,記錄這些 admin user ,維表中有排序欄位;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/117748.html
標籤:高級技術
上一篇:請教索引問題
下一篇:oracle 客戶端安裝到arm
