如何在CockroachDB中选择第n行?

时间:2017-04-14 00:10:44

标签: cockroachdb

如果我为表格的主键使用SERIAL(这是一个随机数)之类的东西,我怎样才能从表中选择一个带编号的行?在MySQL中,我只使用自动递增的ID来选择特定的行,但不知道如何使用任意编号序列来解决问题。

供参考,以下是我正在使用的表格:

+--------------------+------+-------+
|         id         | name | score |
+--------------------+------+-------+
| 235451721728983041 | ABC  |  1000 |
| 235451721729015809 | EDF  |  1100 |
| 235451721729048577 | GHI  |  1200 |
| 235451721729081345 | JKL  |   900 |
+--------------------+------+-------+

1 个答案:

答案 0 :(得分:2)

使用LIMITOFFSET子句将返回第n行。例如SELECT * FROM tbl ORDER BY col1 LIMIT 1 OFFSET 9返回第10行。

请注意,在此处包含ORDER BY子句非常重要,因为您关心结果的顺序(如果您不包含ORDER BY,则结果可能是任意排序的。)< / p>

如果您关心插入内容的顺序,可以ORDER BY SERIAL列(在您的情况下为id),但情况并非总是如此,因为交易争用和其他事情可能导致生成的SERIAL值不严格排序。