按asc问题的mysql顺序

时间:2013-08-21 04:46:32

标签: mysql sql-order-by

我有一个应用程序,我们需要通过asc获取记录顺序,但零记录的值将在最后。 有人帮我。 这是我的表结构

id      name        priority
1       abc             3
2       xyz             6
3       aaa             0
4       bbb             1
5       ccc             1
6       ddd             0
7       fff             2

想要这样的东西

id      name        priority
1       bbb             1
2       ccc             1
3       fff             2
4       abc             3
5       xyz             6
6       aaa             0
7       ddd             0

2 个答案:

答案 0 :(得分:2)

SELECT *
FROM mytable
ORDER BY priority = 0, priority

<强> SQLFiddle demo

答案 1 :(得分:0)

尝试以下SQL:

SELECT * FROM (SELECT * FROM Table1 WHERE PRIORITY > 0 ORDER BY PRIORITY) a 
UNION 
SELECT * FROM Table1 WHERE PRIORITY = 0

SQL FIDDLE DEMO