2019獨角獸企業重金招聘Python工程師標準>>>
?
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?