SQL 中鍵分組的順序行編號
SQL 提供了一個強大的功能來順序枚舉特定鍵組中的行。當您需要根據不同的類別或屬性組織資料時,此功能特別有用。讓我們探討一下此功能如何在各種 SQL 方言中運作。
不同 SQL 方言中的實現
以下 SQL 方言提供了按鍵組順序進行行編號的解決方案:
範例資料和所需的投影
考慮以下帶有(CODE,NAME)元組的範例表:
CODE NAME ---- ---- A Apple A Angel A Arizona B Bravo C Charlie C Cat D Dog D Doppler D Data D Down
所需的投影使用CODE作為分組屬性的投影看起來如下像:
CODE C_NO NAME ---- ---- ---- A 0 Apple A 1 Angel A 2 Arizona B 0 Bravo C 1 Charlie C 0 Cat D 0 Dog D 1 Data D 2 Down D 3 Doppler
SQL 查詢來完成順序行編號
要實現按鍵組的順序行編號,您可以利用以下SQL 查詢:
SELECT CODE, ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY NAME) - 1 As C_NO, NAME FROM MyTable
此查詢將依據CODE 欄位對資料表進行分區,並依NAME對每個分區內的記錄進行排序列,然後從結果行號中減去 1,以獲得每個鍵組所需的從 0 開始的順序編號。
以上是如何在 SQL 中透過鍵分組來實現順序行編號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!