MyTetra Share
Делитесь знаниями!
Оконная функция row_number для нумерации строк в выводе в PostgreSQL
01.01.2020
12:44
Автор: br0ke
Текстовые метки: postgresql, postgres, postgre, sql, window, function, aggregate, row, number, row_number, sequence
Раздел: Информационные технологии - Базы данных - PostgreSQL

row_number -- оконная функция, которая занумерует результаты последовательностью чисел, начиная от 1.


Формальный синтаксис:


ROW_NUMBER() OVER(

[PARTITION BY column_1, column_2,…]

[ORDER BY column_3,column_4,…]

)


Опциональная секция PARTITION BY позволяет разбить результат на секции, в рамках которых нумерация будет производиться независимо.


Опциональная секция ORDER BY влияет на порядок, в котором строки результата будут занумерованы.


Использование:


SELECT

product_id,

product_name,

group_id,

ROW_NUMBER () OVER (ORDER BY product_id)

FROM

products;


Минимальный пример:


SELECT

product_id,

product_name,

group_id,

ROW_NUMBER () OVER ()

FROM

products;


Максимальный пример:


SELECT

product_id,

product_name,

group_id,

ROW_NUMBER () OVER (

PARTITION BY group_id

ORDER BY

product_name

)

FROM

products;

Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования