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單元格的右下角,直至指標變成 號。步驟六 ...