【问题标题】:MySQL: How to get a record based on the positionMySQL:如何根据位置获取记录
【发布时间】:2019-08-21 17:34:00
【问题描述】:

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

我用 count + 1 做一个循环直到 10。

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

有一种简单的方法——在性能方面——获得这个记录吗?

NAME | GROUP
Alan    A
Paul    B
John    A
Frank   A

SELECT * FROM TABLE WHERE GROUP = A 

Randon 数为“2”,则:

我需要找到第二条记录:

NAME | GROUP
John     A

tks 丹尼尔

【问题讨论】:

    标签: mysql count sql-order-by record


    【解决方案1】:

    将 LIMIT 与 OFFSET 结合使用,您只能从结果集中获得第二行

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

    除了查询会以他们认为容易的顺序返回数据,因此您可能还希望对结果进行排序

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

    【讨论】:

    • 嗨@RiggsFolly,首先,感谢您抽出时间来帮助我。我不是 mysql 专家-然后只是为了理解逻辑-好的-有了这个我得到了记录 2,但是如果我需要得到记录 1239?如果它的“LIMIT 2”得到 1239 将是“LIMIT 1239”......但为什么是“Limit 1,1”?很多! :D
    • 要获得 1239,我输入了“Limit 1238,1” - 明白了!为什么..我不知道..但是-我理解逻辑..:D
    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    相关资源
    最近更新 更多