使用窗口函数显示 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中文网其他相关文章!