1

我有一个应用程序,我们需要通过 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
4

2 回答 2

2
SELECT *
FROM mytable
ORDER BY priority = 0, priority

SQLFiddle 演示

于 2013-08-21T04:48:22.077 回答
0

尝试以下 SQL:

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

SQL 小提琴演示

于 2013-08-21T04:53:25.410 回答