首页 > 数据库 > mysql教程 > 如何在 MySQL'ORDER BY”查询中查找特定条目的行位置?

如何在 MySQL'ORDER BY”查询中查找特定条目的行位置?

Susan Sarandon
发布: 2025-01-18 02:36:08
原创
799 人浏览过

How to Find the Row Position of a Specific Entry in a MySQL `ORDER BY` Query?

在 MySQL ORDER BY 查询中查找行位置

当按特定列对 MySQL 表进行升序排序时,确定特定行的位置可能是一项有用的任务。以下是如何检索单个行及其在其他已排序行中的位置的解决方案:

利用 MySQL 的内置变量和子查询,以下查询可以完成此任务:

<code class="language-sql">SELECT x.id,
       x.position,
       x.name
  FROM (SELECT t.id,
               t.name,
               @rownum := @rownum + 1 AS position
          FROM TABLE t
          JOIN (SELECT @rownum := 0) r
      ORDER BY t.name) x
 WHERE x.name = 'Beta'</code>
登录后复制

在此查询中:

  • 我们使用子查询根据“name”列的排序顺序为每一行分配一个位置。
  • @rownum 变量初始化为 0,并为每一行递增。
  • 然后,外部查询过滤子查询结果,以查找名称为“Beta”的行。

结果是包含其在排序顺序中的相应位置的单行。

以上是如何在 MySQL'ORDER BY”查询中查找特定条目的行位置?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板