MySQL/sqlserver查詢in操作 查詢結果按in集合順序顯示

mysql用下面的語句

select * from ibs6_terminal_adv_inf where id in (16,14,15) order by field(id,16,14,15)

select * from ibs6_terminal_adv_inf where id in (16,14,15) order by find_in_set(id,'16,14,15')

select * from ibs6_terminal_adv_inf where id in (16,14,15) order by substring_index('16,14,15',id,1)

結果就是按順序顯示了

sqlserver 用以下的語句

select * from ibs6_terminal_adv_inf where id in (16,14,15)  order by CHARINDEX(','+ltrim(id)+',',',16,14,15,')"

另外還有下面這種case函數方式的

select   id   from   table1   where   id   in(3224,3225,3395,2810,3280,3281,3292) 
order   by 
case   id 
when   3224   then   1 
when   3225   then   2 
when   3395   then   3 
when   2810   then   4 
when   3280   then   5 
when   3281   then   6 
when   3292   then   7 
end 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章