MySQL:如何根据位置获取记录

标签 mysql count sql-order-by record

我有一个随机数 - 比如 10 - 我需要获取记录集的第 10 个寄存器。

我执行一个循环,其中 count + 1 直到 10。

但是如果随机数真的很大,也许我也需要做一个大循环。

有一个简单的方法 - 在性能方面 - 可以获得这个记录吗?

NAME | GROUP
Alan    A
Paul    B
John    A
Frank   A

SELECT * FROM TABLE WHERE GROUP = A 

随机数为“2”,则:

我需要找到第二条记录:

NAME | GROUP
John     A

谢谢 丹尼尔

最佳答案

使用 LIMIT 和 OFFSET 可以仅获取结果集中的第二行

SELECT * FROM TABLE 
WHERE GROUP = 'A' 
LIMIT 1,1

除了查询会按照他们认为简单的顺序返回数据,因此您可能还想对结果进行排序

SELECT * FROM TABLE 
WHERE GROUP = 'A' 
ORDER BY NAME
LIMIT 1,1

关于MySQL:如何根据位置获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57596639/

相关文章:

mysql - 如何计算与 MySQL 中另一列中的特定行关联的唯一值?

MySQL 显示一行以不同的值多次出现?

php - 使用PHP统计在线用户数量

java - 如何使用 @OrderBy 对 Hibernate 中的复合键之一进行排序

mysql - ORDER BY 和 UPDATE 查询

MySQL varchar索引存储

mysql - 我的sql,迭代限制语句中的变量

mysql - 从 mysql 数据库中选择一些内容并按计数(其中)排序

php - Mysql Order By Optimization 有两个索引

MySQL:如何仅显示最小计数而不使用限制?