简体   繁体   English

Postgres generate_series每个唯一行

[英]Postgres generate_series for each unique row

I'm trying to do something like this 我正在尝试做这样的事情

key | series
____________
  1 |   1
  1 |   2
  2 |   1
  3 |   1
  3 |   2
  3 |   3
  4 |   1
  4 |   2

How do I go about generating a series for each unique key? 如何为每个唯一键生成序列?

Use a window function ROW_NUMBER() : 使用窗口函数ROW_NUMBER()

SELECT key, 
       row_number() over (partition by key) series
FROM table1
;

Demo: http://www.sqlfiddle.com/#!15/a6301/4 演示: http ://www.sqlfiddle.com/#!15/ a6301/4

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM