當前位置:首頁 » 編程語言 » sql按in條件排序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql按in條件排序

發布時間: 2022-06-28 08:20:28

Ⅰ mysql怎麼按 in 裡面 id 的順序排列

表結構如下:
mysql> select * from test;
+----+-------+
| id | name |
+----+-------+
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
| 4 | test4 |
| 5 | test5 |
+----+-------+

執行以下SQL:
mysql> select * from test where id in(3,1,5);
+----+-------+
| id | name |
+----+-------+
| 1 | test1 |
| 3 | test3 |
| 5 | test5 |
+----+-------+
3 rows in set (0.00 sec)

這個select在mysql中得結果會自動按照id升序排列,
但是我想執行"select * from test where id in(3,1,5);"的結果按照in中得條件排序,即:3,1,5,

想得到的結果如下:
id name
3 test3
1 test1
5 test5

請問在這樣的SQL在Mysql中怎麼寫?
網上查到sqlserver中可以用order by charindex解決,但是沒看到Mysql怎麼解決??請高手幫忙,謝

謝!

select * from a order by substring_index('3,1,2',id,1);

Ⅱ SQL語句中,選擇結果如何按指定順序排序

可以這樣實現題主所要求的排序

select * from A_TABLE1 where
name in(『張三』,『李四』,『王五』)
order by (case name when '張三' then 1
when '李四' then 2 else 3 end);

Ⅲ sql in怎麼根據in的順序排列查詢結果

按指定順序輸出數據,可以使用order by charindex(','+convert(varchar,ID)+',',',3,1,2,5,4,')的方法來實現這個目的

1
2
3
4

select id,title
from tbname
where id in (3,1,2,5,4)
order by charindex(','+convert(varchar,ID)+',',',3,1,2,5,4,')

Ⅳ 求一sql語句使數據按 where in 括弧內的數據順序排列

看了你要求,我重新給你改了一下,這句就可以達到
你的要求
:select
*
from
para
where
bh
in('1','2','4','7','8','11','10')
order
by
CONVERT(char(10),bh)
asc
你試試,應該是可以的,按
字元
排序,char(10)這個
大小
根據你數據多少,不需要這么大,就
小點
,也可以用varchar(10)。
不明白可以繼續問

Ⅳ SQL語句按in排序問題

將in裡面的內容拿出來,當作一張表,和你現有的表做關聯,然後根據num排序

Ⅵ sql語句怎麼按in里的id排序

這個是沒辦法的,你只能用內連接才可以用

Ⅶ php sql 中WHERE 的條件:IN(3,2,5,8) 結果如何按IN中的順序排序

沒法這樣排序。
只能用UNION:
"(SELECT .....WHERE id=3) UNION (SELECT .....WHERE id=2) UNION (SELECT .....WHERE id=5) UNION (SELECT .....WHERE id=8)」

Ⅷ 想問下,sql 按 in 後的順序排序問題。

那你把charindex(rtrim(id),'//序列') as Sort
作為一個欄位放在select裡面,然後再用Sort欄位排序,試試看
select *, charindex(rtrim(id),'//序列') as sort from tbname where id in(//序列) order by sort

Ⅸ 讓sql語句不排序,按照in語句的順序返回結果

select name from order where oderid in(111,222,333,444,555,666)
order by instr('111,222,333,444,555,666',orderid)

instr是orale裡面表示字串出現位置的一個函數.DB2應該也有這樣的函數