在 MySQL SELECT 查詢中遞增計數器
MySQL 允許使用者選擇特定欄位並在單一查詢中遞增其值。這對於創建唯一識別碼或對搜尋結果進行排名特別有用。
假設我們有以下 MySQL 查詢:
SELECT name FROM table;
此查詢只是從指定表中擷取名稱列。但是,我們也想在名稱旁邊新增一個遞增計數器,如下所示:
Jay 1 roy 2 ravi 3 ram 4
要實現此目的,我們可以在查詢中使用 @rownum := @rownum 1 語法。它的工作原理如下:
select name, @rownum := @rownum + 1 as row_number from your_table cross join (select @rownum := 0) r order by name
交叉連接語句引入了 @rownum 變量,我們使用子查詢 select @rownum := 0) r 將其初始化為 0。然後,@rownum := @rownum 1 語法會增加 your_table 表中每一行的計數器。
因此,查詢將傳回名稱列以及表中每一行的遞增 row_number 計數器。
值得注意的是,這種方法不需要單獨的查詢來宣告 @rownum 變數。此外,該技術還可以透過手動將 @rownum 變數設為 0 在預存程序中使用。
以上是如何在 MySQL 中選擇資料時增加計數器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!