我有一張這樣的桌子:
| ID | 人 |
|---|---|
| 20 | 亞當斯 |
| 20 | 喬治 |
| 40 | 吉娜 |
| 46 | 里科 |
| 80 | 那亞 |
| 90 | 約翰 |
| 90 | 彼得 |
| 90 | 理查德 |
我想找到一種方法來選擇一個從 1 開始的 new_id 并在每次 id 不同時增加 1。例如,我想要一個結果如下的選擇:
| new_id | ID | 人 |
|---|---|---|
| 1 | 20 | 亞當斯 |
| 1 | 20 | 喬治 |
| 2 | 40 | 吉娜 |
| 3 | 46 | 里科 |
| 4 | 80 | 那亞 |
| 5 | 90 | 約翰 |
| 5 | 90 | 彼得 |
| 5 | 90 | 理查德 |
postgres 中是否有類似的功能?
uj5u.com熱心網友回復:
使用dense_rank()
select dense_rank()over(order by id) as newid,id,persion
from table_name
演示鏈接
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/424858.html
標籤:sql PostgreSQL 功能 自动递增
上一篇:將函式應用于資料幀,其中另一個資料幀包含過濾條件和要過濾的記錄數
下一篇:以水平格式獲取表頭|PLSQL|
