【问题标题】:Is there any way to get the offset of the record in the mysql resultset ?有什么方法可以获取 mysql 结果集中记录的偏移量?
【发布时间】:2011-08-08 04:15:21
【问题描述】:

有一个mysql查询。

假设: select primary_field, field2 from mytable order by field2

field2 不是唯一的。

如果我有一个包含值的记录( 536, any_value ),现在在结果中。

我想获取偏移量(结果中记录的位置)。

事实上我需要它来获取当前记录的下一条和上一条记录。

我不想获取所有记录,然后在 php 中处理它以获得下一条和上一条记录。

我想在 mysql 查询中完成它。 mysql查询可以吗?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    嗯,是的,也不是。如果您有结果,那么如果特定行不唯一,则可能无法检索它。但是,如果您只是想获取行号:

    select @rownum:=@rownum+1 ‘rank’, t.* 
       from my_table t, (SELECT @rownum:=0) r order by field2;
    

    哦,还有credit where credit is due

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多