使用視窗函數顯示PostgreSQL 查詢中的行號
為了方便引用和分析,顯示PostgreSQL 查詢中每筆記錄的行號可以是非常有益的。在 PostgreSQL 8.4 及更高版本中,強大的視窗函數 ROW_NUMBER() 啟用了此功能。
利用 ROW_NUMBER() 函數
顯示每筆記錄的連續觀察編號,您可以在查詢中使用 ROW_NUMBER() 函數。其語法包括 ORDER BY 子句來決定行的順序。實作方法如下:
SELECT ROW_NUMBER() OVER (ORDER BY field NULLS LAST) AS rownum, * FROM foo_tbl ORDER BY field;
在此查詢中:
無需排序的簡化方法
如果行排序不是必需的,可以透過排除ORDER BY 子句來簡化查詢:
SELECT ROW_NUMBER() OVER(), * FROM foo_tbl;
這種方法為每筆記錄分配行號,而不考慮任何特定順序或排序。
範例
考慮以下 SQL Fiddle 示範:https://www.sqlfiddle.com/ #!17/665c8e/1
以上是如何使用視窗函數為 PostgreSQL 查詢結果新增行號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!