Есть данные:
cat_id | ad_id | count
60 | 1 | 22
60 | 99 | 22
60 | 3 | 22
42 | 5 | 14
42 | 4 | 14
11 | 12 | 6
11 | 19 | 6
11 | 2 | 6
Как правильно добавить оконную функцию, чтобы получилось:
cat_id | ad_id | count | row_num
60 | 1 | 22 | 1
60 | 99 | 22 | 1
60 | 3 | 14 | 1
42 | 5 | 14 | 2
42 | 4 | 14 | 2
11 | 12 | 14 | 3
11 | 19 | 6 | 3
11 | 2 | 6 | 3
Это необходимо, чтобы дальше в запросе ограничение поставить по этому новому полю row_num, к примеру row_num < 3.
Простое ROW_NUMBER не прокатит, так как он порядковый ряд создает внутри каждого набора cat_id, а мне нужно чтобы он каждому набору навешивал порядковый номер при сортировке по count.
SELECT *, ROW_NUMBER() OVER(
PARTITION BY cat_id
ORDER BY count desc
) AS row_num
FROM tabl