sql裡的一列怎麼根據指定的順序排列

2021-04-26 06:20:16 字數 4259 閱讀 3247

1樓:匿名使用者

select * from a

order by case when b=5 then 0 else 1 end,b

2樓:匿名使用者

select * ,case when b=5 then 0 else b end as c

from a order by c

3樓:匿名使用者

select * from a where b=5

union

select * from a where b <> 5 order by b asc;

4樓:

不寫式子了。

樓主的問題其實完全可以用top、和not in來解決.

sql排序方式要根據另一個表的某個欄位排序怎麼實現

5樓:匿名使用者

要根據另一個表,說明這2個表需要join起來!

select a.*

from a

join b on b.aid = a.id -- 關聯起來order by b.xx -- 據另一個表的某欄位

6樓:羊彤才山柳

可以通過兩個表的關係,然後通過欄位關聯的形式排序。

sql:select

t1.*

from

tablename1

t1,tablename2

t2wehere

t1.id=t2.id

order

byt2.name;

解釋:實際上上面語句會通過

tablename2表的name欄位先排序表tablename2資料,之後會通過id欄位關聯後,讀取出id存在於tablename2表中存在的tablename1表的資料。

備註:上面表中的id欄位的值肯定有相同的,如tablename1和tablename2

表中id欄位都存在值「1」,才可以有結果輸出。如果兩個表都沒關聯的話,無法實現。

sql排序方式要根據另一個表的某個欄位排序怎麼實現?

7樓:匿名使用者

可以通過兩個表的關係,然後通過欄位關聯的形式排序。

sql:select t1.* from tablename1 t1, tablename2 t2 wehere t1.

id=t2.id order by t2.name;

解釋:實際上上面語句會通過 tablename2表的name欄位先排序表tablename2資料,之後會通過id欄位關聯後,讀取出id存在於tablename2表中存在的tablename1表的資料。

備註:上面表中的id欄位的值肯定有相同的,如tablename1和 tablename2 表中id欄位都存在值「1」,才可以有結果輸出。如果兩個表都沒關聯的話,無法實現。

8樓:匿名使用者

加個標記,等著看結果...

9樓:匿名使用者

select a.* from a left join b on a.size=b.size order by b.size

sql 按欄位指定值排序

10樓:匿名使用者

這個需要在排序語句中使用條件判斷

例如:表【table_temp】中列【col1】為字元,屬性為varchar(10),排序時需要按照b、a、c的順序顯示,則可按照以下sql語句:

select

*from

table_temp

order by

case

when col1='b' then 1

when col1='a' then 2

when col1='c' then 3end

11樓:匿名使用者

在mssql支援case,使用以下語句實現select 表1.id, 表1.n

from 表1

order by case n when 'a2' then 1 when 'a1' then 2 when 'a3' then 3 end;

在access中使用iif來實現,如下:

select 表1.id, 表1.n

from 表1

order by iif(n='a2',1,iif(n='a3',2,3));

可參考access幫助檔案中的

access > 篩選和排序 > 按自定義次序對記錄排序

12樓:沉默使用者

order by 字句中使用case

select *

from table1

order by case a1 when 'a2' then 1 when 'a3' then 2 when 'a1' then 3 end

13樓:匿名使用者

你可以加上一個計算列,將它轉換成可排序的,比如在oracle中可依這樣

select table1.*,decode(table1.a1,'a2' ,1,'a3',2,'a1',3,0)xx from table1 order by xx

14樓:匿名使用者

select * from dbo.table1where a1= 'a1'

union

select * from dbo.table1where a1<> 'a1'

order by a1 desc試一下

15樓:匿名使用者

在select語句後面加上 order by a1 desc是降序

order by a1 asc是升序;

sql 按照列的指定值排序

16樓:匿名使用者

需要子查詢。

在裡面曾,先判斷 case when a=4 then '0'

when a=2 then '1'

when a=0 then '2'

////

最後在再外層,使用這個判斷好的值,進行排序就好了。

17樓:騰雲浮流水

select a from 表

order by (a%2),a desc

sql server怎麼把表中的資料,按某列排序.然後再存回去.

18樓:匿名使用者

只能再建個表

按升序排列後的資料插入那個表

然後把你現在這個表的資料delete

然後再從新建表中插入現在這個表

19樓:

是同一張表嗎?還是要再建一張相同結構的表?

sql裡如何實現檢視的某一列的排序?

20樓:匿名使用者

檢視查詢 查詢可以用order by但是要加top

21樓:匿名使用者

order by 欄位 是升序排列

order by 欄位desc 是降序排列

22樓:

select * from 檢視 order by 列名

sql查詢語句如何按指定欄位順序排序

23樓:匿名使用者

"order by case when 的意思是說來,按case when 做條件排序,你源這個不是排序的問bai題吧,是搜尋結du果的欄位顯示zhi問題吧,只dao有你說的寫法的,就是select b,d,f,e,a,c,g,h,i,j,k……,z from student

或者你要改表欄位的位置咯"

24樓:匿名使用者

手工排吧 select b,d,f,e,a,c,g,h,i,j,k..............,z from student,表裡面欄位很多,但實際用到的欄位不會太多的,不用的就別查出來吧

25樓:

order by case when 的意思是說bai,按case when 做條件排序,du你這個不

zhi是排序的問題吧,dao是專搜尋結屬果的欄位顯示問題吧,只有你說的寫法的,就是select b,d,f,e,a,c,g,h,i,j,k..............,z from student

或者你要改表欄位的位置咯

SQL語句,怎麼根據另一列每行不同的值,給新增的列每行賦不同的值

不太明白你的意思。根據我的理解,我舉個例子好了。原來的那一列為a,新增的專列屬為b假如,你新增的列的值符合b 2 a。你可以用sql如下 update table set b 2 a這裡的a和b都是欄位名。這種情況一般是限定新增的這個列b和列a有某種關係才能這麼做。sql語句,如何對同一列資料中不同...

SQL怎麼去除某一列的重複項

假設存在一個主鍵id,name為重複列 下面這句可以查出所有的沒有重複的資料 select from表as awhere id select min id from 表where name a.name 根據上面這句就可以刪除所有重複項的資料delete from 表where idnot in s...

excel中讓一列的資料按另一列資料的順序排序

可以用sumif函式來 來達成,方法步驟如自下 步驟一 首先開啟excel 檔案。步驟二 若結果輸出在e列,雙擊e2單元格,進入輸入狀態。步驟三 在e2單元格內輸入函式 sumif c c,a2,d d 步驟四 敲擊回車後返回結果 77 步驟五 滑鼠移到e2單元格的右下角,直至指標變成 號。步驟六 ...