我有一个随机数 - 比如 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/