sql按欄位指定值排序,sql如何根據欄位內的某個值排序

2021-03-22 19:03:48 字數 5199 閱讀 7693

1樓:匿名使用者

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

例如:表【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

2樓:匿名使用者

在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 > 篩選和排序 > 按自定義次序對記錄排序

3樓:沉默使用者

order by 字句中使用case

select *

from table1

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

4樓:匿名使用者

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

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

5樓:匿名使用者

select * from dbo.table1where a1= 'a1'

union

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

order by a1 desc試一下

6樓:匿名使用者

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

order by a1 asc是公升序;

sql如何根據欄位內的某個值排序 5

7樓:

這個正規表示式就可以篩選出數字部分,但是每種資料庫用法都是不一樣的

再根據篩選出來的這個偽劣來排序就好了

8樓:

可以擷取後面的數字用著排序字段

sql語句如何 按指定的某列的摸個值排序

9樓:匿名使用者

--用order by + case whenwith tt as

(select 'a' as f1 union allselect 'b' as f1 union allselect 'c' as f1 union allselect 'd' as f1 union allselect 'e' as f1

)select * from tt

order by (case f1 when 'b' then 1 when 'd' then 2 when 'c' then 5 when 'd' then 4 else 999 end)

有問題追問

10樓:情到深處有淚湧

select * from 表名 order by 列名

sql 按照列的指定值排序

11樓:匿名使用者

需要子查詢。

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

when a=2 then '1'

when a=0 then '2'

////

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

12樓:騰雲浮流水

select a from 表

order by (a%2),a desc

sql查詢按指定字段排序

13樓:匿名使用者

不知道你bai什麼資料庫

du, 假如是 oracle:

select

count(city_name),

city_name

from

tuan_info

where

source_type = 1

and city_name in("北京zhi","上海dao","廣州

內")group by

city_name

order by

instr('北京,上海,廣州', city_name);

如果是容 sql server 用

order by charindex(city_name, '北京,上海,廣州')

14樓:匿名使用者

醫病者父母心所說的

抄方法雖然可用,但非常的浪bai費時間,資料多了du,可能會有宕機的感覺.我看zhi不如這樣,修改資料表設計dao,增加乙個小整數字段,位元組型也可,叫city_xh城市序號,當使用者輸入city_name時,用乙個函式做以下工作如果輸入北京這個欄位的值就為1,如果上海就是2,如果重慶就25,如果台北就31,把這個函式的值儲存到增加的字段,排序的時候就按這個字段排序.這不好嗎.

select count(city_xh),city_name from tuan_info where source_type = 1 and city_name in("北京","上海","廣州") group by city_name order by city_xh

可能資料表已經有資料了,開啟資料表,手工輸入,如果資料太多,就寫一過程,來填充這個字段值.

15樓:小辰蛋

你能不能把具體的

來問題寫出來呢

源?一般都會有查詢的錯誤提示 錯誤**之類的.

感覺你寫的沒什麼問題呀,不過字段值,應該用單引號,不是雙引號的.

select count(city_name),city_name from tuan_info where source_type = 1 and city_name in('北京','上海','廣州') group by city_name;

16樓:匿名使用者

select '北京

', count(city_name) from tuan_info where source_type = 1 and city_name ='北京'

union

select '上海

版, count(city_name) from tuan_info where source_type = 1 and city_name ='上海' union

select '廣州

權, count(city_name) from tuan_info where source_type = 1 and city_name ='廣州'

17樓:陳廣瑩

select count(city_name),city_name from tuan_info where source_type = 1 and city_name in("北京

**","上海","廣州") order by city_name;

18樓:醫病者父母心

分別查處三個的結果,在按照要求 用union 把結果放一起

sql 按欄位指定的值排序

19樓:看色網45se點

與自我連線lx_king(田建)是正確的選擇你的領域名稱的表聯接表b對你的連線條件

看到更多的答案。

sql語句中,如何按指定字段排序

20樓:塵緣

對於這種排序的問題處理,如果不是簡單中英文排序,最好**排序列,sortnum,起到排序的效果,複雜點如每個人有個自己的排序規則,可寫個對映表儲存每個人的排序規則,進行排序

21樓:匿名使用者

select * from table

order by case when ssdw2='上訴人' then 0 else 1 end

22樓:匿名使用者

用order by根據 反向則加上desc

select * from table order by case when ssdw2='上訴人' then 0 else 1 end

23樓:匿名使用者

select * from studens order by charindex(say,'上訴人',0) desc

sql查詢語句如何按指定字段順序排序

24樓:匿名使用者

"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

或者你要改表字段的位置咯"

25樓:匿名使用者

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

26樓:

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語句怎麼去掉欄位裡值的空格如name阿斯

沙漠之冰 trim name 如果你要把表裡某欄位所有資料的空格都去掉的話。可以執行下面的sql 1 update table1 a set a.欄位 a.trim a.欄位 去掉欄位前面後後面的空格 2 update table1 a set a.欄位 replace a.欄位,去掉欄位所有的空格...

sql語句,如何擷取指定欄位某字元出現後的後面的字串嗎

工具 材料 management studio。1 首先在桌面上,點選 management studio 圖示。2 之後在該介面中,點選左上角 新建查詢 選項。3 接著在該介面中,輸入擷取指定欄位某乙個字元出現後的後面的字串的sql語句 select substring name,charinde...

急急急sql查詢字段是否存在某值怎麼寫

select from 表名 where locate 2 fubclass where fubclass regexp 2 查詢2的記錄 where fubclass regexp 3 查詢3的記錄 正規表示式其實也是like,不知道滿足你的要求不 sql server使用 bai select ...