我有一个表,其中有一列叫做“ myorder”。我只想通过使用“ myorder”列以升序对前5个元素进行排序,然后按id降序对其余元素进行排序。我已经尝试过了,但我似乎并没有100%做到这一点。我用这个简单的例子创建了一个sqlfiddle。有谁能够帮助我?

sqlfiddle中的顺序应为:蓝色,棕色,黄色,红色,绿色,橙色,灰色,黑色,白色。

最佳答案

也许尝试

SELECT * from tbl ORDER BY IF(myorder=0, 2147483647, myorder) ASC, id DESC

如果以“前5个”表示是非零myorder

关于mysql - MySQL UNION SELECT语句由两个不同的列顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22796992/

10-11 04:56