如果我有:爲mysql查詢顯式指定排序順序?
ID | Title
1 | Shirt
2 | CD
3 | Cap
4 | Mp3
5 | Badge
如果我想這個順序排序:4,2,5,3,1。有沒有辦法做一個SQL查詢,你明確指定這個?喜歡的東西:
select * from TABLE order by ID(4,2,5,3,1) ??
如果我有:爲mysql查詢顯式指定排序順序?
ID | Title
1 | Shirt
2 | CD
3 | Cap
4 | Mp3
5 | Badge
如果我想這個順序排序:4,2,5,3,1。有沒有辦法做一個SQL查詢,你明確指定這個?喜歡的東西:
select * from TABLE order by ID(4,2,5,3,1) ??
其實,你是驚人地接近。這是一個簡單的:
select * from TABLE order by field(ID,4,2,5,3,1)
不錯,是MySQL特有的? –
@ muistooshort是的 - 它更多的是mysql「funk」,但所有那些「不符合標準」的東西都非常方便,太難抵擋了! – Bohemian
可以在ORDER使用CASE BY作爲一個基本的查找表:
select *
from your_table
order by
case id
when 4 then 1
when 2 then 2
when 5 then 3
when 3 then 4
when 1 then 5
end
您如何介紹一個「職位」列,並按照您的要求排列項目並查詢按職位排序的行?依靠ID-s訂購東西只是......愚蠢的。 –