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