使用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中文網其他相關文章!