我正在尝试使用可为空字段对数据进行排序,并尝试使用限制和偏移量来实现分页
这是第一页的查询
SELECT table_name.* FROM table_name ORDER BY table_name.date_field DESC LIMIT 2;
我得到以下结果。
ID | 字段1 | 字段2 | 日期字段 |
---|---|---|---|
1 | 姓名 | 姓名 | 无效的 |
2 | 姓名1 | 姓名1 | 无效的 |
当以下查询用于第二页时
SELECT table_name.* FROM table_name ORDER BY table_name.date_field DESC LIMIT 2 OFFSET 2;
我得到以下结果。
ID | 字段1 | 字段2 | 日期字段 |
---|---|---|---|
2 | 姓名1 | 姓名1 | 无效的 |
3 | 姓名2 | 姓名2 | 无效的 |
如果比较两个表,您会注意到id=2的记录给出了两次(在第一个查询和第二个查询中),这是错误的。
这是一个简单的查询,没有连接,也没有 where 条件。
有人有解决办法吗?提前致谢。
我正在使用 mysql 版本:8.0.34 - MySQL 社区服务器 - GPL