我们有带有列的下表:
CategoryId |以CategoryId为主键的CategoryName。

我们有以下数据:

0   Other
1   Bumper
2   Door
3   Roof
4   Fender


我从这些表中使用select *,并且仅按上述顺序获得行,即首先为0,最后为4。

有什么办法可以让我最后得到0?即1,2,3,4,0?

最佳答案

select * from yourtable order by CategoryId=0,CategoryId


您可以在order by子句中使用任意表达式。通过首先按CategoryId = 0排序,您将得到所有错误的记录,然后是真实的记录(显然只有一条,因为它是主键)。然后,这些记录集中的每组都按CategoryId排序。

关于mysql - mysql:有什么方法可以以不同于存储顺序的顺序获取记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45843957/

10-11 08:11