在下列情况下,我需要你的帮助:
我有一张这样的桌子
----------------------------
| id | order | highlighted |
----------------------------
| 1 | 5 | 1 |
----------------------------
| 2 | 7 | 1 |
----------------------------
| 3 | 0 | 0 |
----------------------------
| 4 | 0 | 0 |
----------------------------
| 5 | 9 | 1 |
----------------------------
| *and so on* |
----------------------------
id
为整数(11)自动递增order
为整数(11)highlighted
是int(11),仅包含“1”或“0”值我想在一个查询中对这些条目进行排序,如下所示:
首先显示按
highlighted
描述排序的order
='1'的所有行下面是按
highlighted
描述排序的id
='0'行获取的列表应该分页(
limit 30, 10
-例如,它是第3页,每页10个项目)结果应该是:
----------------------------
| id | order | highlighted |
----------------------------
| 5 | 9 | 1 |
----------------------------
| 2 | 7 | 1 |
----------------------------
| 1 | 5 | 1 |
----------------------------
| 4 | 0 | 0 |
----------------------------
| 3 | 0 | 0 |
----------------------------
| *and so on* |
----------------------------
有什么想法吗?
提前感谢您的建议!
最佳答案
试试这个:
SELECT a.id, a.order, a.highlighted
FROM tableA a
ORDER BY a.highlighted DESC,
(CASE WHEN a.highlighted = 1 THEN a.order ELSE a.id END) DESC
LIMIT 30, 10;
关于mysql - 列出多个标准的条目,分页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27352918/