向 PostgreSQL 查询结果添加行号
显示行号可以为 PostgreSQL 查询结果提供有价值的上下文。 PostgreSQL 在 8.4 版本中引入了 ROW_NUMBER() 窗口函数,它允许您向查询添加行号。
语法:
ROW_NUMBER() 的语法为作为如下:
ROW_NUMBER() OVER (PARTITION BY partition_expression ORDER BY sort_expression)
示例:
要分配行号而不进行排序或分组,请使用:
SELECT ROW_NUMBER() OVER () AS rownum, * FROM foo_tbl;
排序和分组:
要在分配行号之前对行进行排序和分组,请分别指定 ORDER BY 和 PARTITION BY 子句:
SELECT ROW_NUMBER() OVER (ORDER BY last_name) AS rownum, * FROM employee_tbl;
此查询将根据last_name 列中的值,并按默认排序顺序解析关系
简化查询:
如果不需要排序或分组,可以如下简化查询:
SELECT ROW_NUMBER() OVER () AS rownum, * -- no fields in the ORDER BY clause FROM foo_tbl;
SQL Fiddle 示例:
可以在以下位置找到工作示例[SQL Fiddle](https://sqlfiddle.com/#!18/6e750c/1).
以上是如何将行号添加到 PostgreSQL 查询结果中?的详细内容。更多信息请关注PHP中文网其他相关文章!