gpt4 book ai didi

mysql - 列出多个条件的条目,分页

转载 作者:可可西里 更新时间:2023-11-01 08:46:26 24 4
gpt4 key购买 nike

在以下情况下我需要你的帮助:

我有一个看起来像这样的表

----------------------------
| id | order | highlighted |
----------------------------
| 1 | 5 | 1 |
----------------------------
| 2 | 7 | 1 |
----------------------------
| 3 | 0 | 0 |
----------------------------
| 4 | 0 | 0 |
----------------------------
| 5 | 9 | 1 |
----------------------------
| *and so on* |
----------------------------
  • id 是 INT(11) AUTO_INCREMENT
  • order 是 INT(11)
  • highlighted 是 INT(11) 且仅包含“1”或“0”值

我想在一个查询中对这些条目进行排序,如下所示:

  • 首先显示所有 highlighted = '1' 按 order desc 排序的行
  • 以下是按 id desc 排序的 highlighted = '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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com