首頁 >資料庫 >mysql教程 >如何在 SQL 中顯示唯一值的行號?

如何在 SQL 中顯示唯一值的行號?

Patricia Arquette
Patricia Arquette原創
2024-12-25 18:17:11120瀏覽

How to Display Row Numbers for Unique Values in SQL?

使用SQL 顯示唯一值的行號

SQL 中的DISTINCT 關鍵字用於僅擷取唯一值來自指定列。在這種特殊情況下,您的目標是使用 ROW_NUMBER() 函數顯示列中唯一值的行號。

但是,您提供的查詢:

SELECT DISTINCT id, ROW_NUMBER() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64

沒有返回預期的結果,因為它使用 DISTINCT 有效地消除了重複項。因此,它的行為類似於以下查詢:

SELECT DISTINCT id FROM table WHERE fid = 64

要獲得所需的輸出,您可以使用 DENSE_RANK() 函數。 DENSE_RANK() 依指定的順序為每個不同的值分配唯一的行號,即使存在重複的值也是如此。

這是修改後的查詢:

SELECT DISTINCT id, DENSE_RANK() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64

This查詢將為您提供與滿足條件WHERE fid = 的行的指定列中的唯一值相對應的行編號64.

以上是如何在 SQL 中顯示唯一值的行號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn