with t as( select 5 id from dual union all select 4 from dual union all select 3 from dual )select * from t order by decode(id,4,3,5,4,3,5,id); ID ---------- 4 5 3
select * from tablename order by decode(id, 4, a, 5, b, 3, c, id) asc 只要abc是按升序排列的数字就可以实现,要是还有其他的id会按与abc的大小排列
decode ,translate在mysql有这样的函数吗
SELECT 4 AS ID FROM DUAL
UNION ALL
SELECT 5 AS ID FROM DUAL
UNION ALL
SELECT 3 AS ID FROM DUAL
)SELECT * FROM TEST ORDER BY MOD(ID,4)
select 5 id from dual
union all
select 4 from dual
union all
select 3 from dual
)select * from t order by decode(id,4,3,5,4,3,5,id);
ID
----------
4
5
3