首頁 > 資料庫 > 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板