我正在尝试使用SQL设置分页。我想要每页3个结果,这是我所做的:
SELECT mot_cle.* FROM mot_cle
ORDER BY hits DESC LIMIT 3 OFFSET 0; --Page 1
SELECT mot_cle.* FROM mot_cle
ORDER BY hits DESC LIMIT 3 OFFSET 3; --Page 2
SELECT mot_cle.* FROM mot_cle
ORDER BY hits DESC LIMIT 3 OFFSET 6; --Page 3
SELECT mot_cle.*
FROM mot_cle
ORDER BY hits DESC LIMIT 3 OFFSET 9; --Page 4
我检查了很多次,这不是很复杂,但是我的结果并不是我所期望的:
第1页:
+-----+--------+------+
| id | mot | hits |
+-----+--------+------+
| 2 | test | 46 |
| 1 | blabla | 5 |
| 475 | intro | 3 |
+-----+--------+------+
第2页 :
+-----+-------+------+
| id | mot | hits |
+-----+-------+------+
| 478 | vrai | 1 |
| 26 | ouest | 1 |
| 27 | serie | 1 |
+-----+-------+------+
第3页:
+-----+-------+------+
| id | mot | hits |
+-----+-------+------+
| 27 | serie | 1 |
| 26 | ouest | 1 |
| 478 | vrai | 1 |
+-----+-------+------+
第4页:
+-----+-------+------+
| id | mot | hits |
+-----+-------+------+
| 27 | serie | 1 |
| 26 | ouest | 1 |
| 478 | vrai | 1 |
+-----+-------+------+
如您所见,第2、3和4页的结果相同…当我一次取4页时:
SELECT mot_cle.* FROM mot_cle
ORDER BY hits DESC LIMIT 20 OFFSET 0;
结果 :
+-----+-------------+------+
| id | mot | hits |
+-----+-------------+------+
| 2 | test | 46 |
| 1 | blabla | 5 |
| 475 | intro | 3 |
| 35 | acteurs | 1 |
| 36 | milieu | 1 |
| 37 | industriel | 1 |
| 38 | plaire | 1 |
| 39 | grandes | 1 |
| 40 | ingenieries | 1 |
| 41 | francaises | 1 |
| 34 | partenaire | 1 |
| 33 | rthgyjhkj | 1 |
| 32 | cool | 1 |
| 31 | super | 1 |
| 30 | vieux | 1 |
| 29 | moteur | 1 |
| 28 | yahoo | 1 |
| 27 | serie | 1 |
| 26 | ouest | 1 |
| 478 | vrai | 1 |
+-----+-------------+------+
也许我遗漏了一些东西或排序结果以及使用限制/偏移量不兼容,我不知道出了什么问题。
这里的问题是所有行的命中计数均为1
,因此使用时它们的位置ORDER BY hits
是不确定的。并且由于您每次访问页面时都会执行一个新查询,因此这些行将被重新“加扰”。
为了保持页面的一致性,您还可以按其ID排序:
SELECT mot_cle.* FROM mot_cle ORDER BY hits DESC, id ASC LIMIT 3 OFFSET 0; --Page 1
问题内容: 我正在尝试在PostgreSQL 9.1中做到这一点: 结果是: 好的,让我们使用以下命令执行相同的查询: 我们再次看到了我们的商品,但是一开始!!! 事实是该表包含以下两项: 我通过一种解决方法解决了这种情况: 但是什么地狱??? !!! 为什么必须使用替代方法? 问题答案: 宣誓就不会更改定义此行为的SQL标准。 除非在中指定,否则 行的顺序是 不确定的。每个文档: 如果未选择排序
问题内容: 我从VOC2012数据集中获取了以下png文件。 我使用以下简单代码: 它产生了以下图像: 奇怪的是,结果不是原始图像的灰度图像。上面的代码还用于deeplab张量流数据集中,以删除真实图像中的颜色图。 有人知道为什么吗?非常感谢! 问题答案: 问题是您的图像已泛化。因此,没有为每个像素存储完整的RGB三元组,而是有一个256个RGB三元组的列表,然后在每个像素位置将索引存储到列表中-
假设我们有这样的代码段: 这段代码产生了27的奇怪结果!!问题似乎在于使用变量名作为“name”,这似乎是一个保留关键字。 但有人能解释为什么会有这种奇怪的行为吗?
当试图从Hitbox API获取数据时,我得到了一个奇怪的结果。对于一个API的命令,这种情况每次都会发生,而对于另一个API的命令,这种情况只是有时发生。结果差不多是这样(这是我得到的最后一个结果): \U001F\B\0\0\0\0\0\U0003W8SμMU~S N T&N G6C$Z%9IGF[(\U0005\U000F(:6\U000F\B P C\U0015\N\U007F V\U00
下面是我的节点类 下面是我的带有插入方法的链表类 我得到以下结果, 端部插入20 正在打印节点1-->10-->5-->none->NULL