mysql:有没有什么方法可以获取不同于存储顺序的记录?

时间:2017-08-23 15:33:06

标签: mysql

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

我们有以下数据:

0   Other
1   Bumper
2   Door
3   Roof
4   Fender

我从这些表中使用select *,我只得到上面序列中的行,即0先行,4行。

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

1 个答案:

答案 0 :(得分:2)

select * from yourtable order by CategoryId=0,CategoryId

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