【问题标题】:Best way to fetch last 4 rows from a result set using mysql使用 mysql 从结果集中获取最后 4 行的最佳方法
【发布时间】:2010-06-05 11:54:40
【问题描述】:

谁能告诉我,我需要使用 mysql 从结果集中获取最后 4 行。结果集共返回6条记录。

但是,我需要从 last4 获取记录...即,

Record-3
Record-4
Record-5
Record-6

【问题讨论】:

    标签: sql mysql sql-order-by


    【解决方案1】:

    要获取最后的 x 行数,但要按升序返回,请使用:

      SELECT x.value
        FROM (SELECT y.value
                FROM TABLE y
            ORDER BY y.value DESC
               LIMIT 4) x
    ORDER BY x.value
    

    答案要求您根据所需的行创建一个派生表(AKA 内联视图)。然后外部查询对值重新排序以进行表示。

    【讨论】:

      【解决方案2】:
      SELECT * FROM tablename ORDER BY id DESC LIMIT 0,4 
      

      将为您提供最后 4 条记录(“last”当您通过 id 订购表格时,这应该是这里的自动增量字段。)

      【讨论】:

      • 我需要记录集的结果应该按升序排列。怎么办?
      • @PHP 实际上,那么我不知道不需要在单独的操作中首先计算行数的解决方案。然后它会例如当它有 660 行时是 SELECT * FROM table ORDER BY id LIMIT 656,4
      【解决方案3】:

      如果你总是有 6 行,你可以使用限制。

      SELECT * FROM Tabel LIMIT 2, 4
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-20
        • 2019-01-13
        相关资源
        最近更新 更多