如果我有:为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订购东西只是......愚蠢的。 –