powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Оконные функции - пронумеровать уникальные комбинации
3 сообщений из 3, страница 1 из 1
Оконные функции - пронумеровать уникальные комбинации
    #39331838
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все привет,

есть некая таблица, приблизительно с таким содержимым:
tedrvev1v2t1dr1ve100t1dr1ve200t1dr1ve300t1dr2ve400t1dr2ve500t2dr3ve500

Сейчас есть запрос с использованием оконных функций, который делает некую агрегацию.
Возможно ли сделать с помощью оконных функций нумерацию уникальных комбинаций по первым 3 полям?:
т.е. получить (в поле num):

tedrvev1v2 numt1dr1ve1001t1dr1ve2001t1dr1ve3001t1dr2ve4002t1dr2ve5002t2dr3ve5003

сейчас запрос такой:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select 
    r.te, dr, ve,
    c1,
    sum(c1) OVER (partition by te, dr)  AS c1_total,
    c2,
    sum(c2) OVER (partition by te, dr)  AS c2_total
from (
    select te, dr, ve, 
    count(v1) c1, 
    count(v2) c2
    from t1
    group by te, dr, ve
    order by 1, 2, 3
) r
...
Рейтинг: 0 / 0
Оконные функции - пронумеровать уникальные комбинации
    #39331863
PgSQLanonymous3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael PonomarevСейчас есть запрос с использованием оконных функций, который делает некую агрегацию.
Возможно ли сделать с помощью оконных функций нумерацию уникальных комбинаций по первым 3 полям?:

т.е. получить (в поле num):

tedrvev1v2 numt1dr1ve1001t1dr1ve2001t1dr1ve3001t1dr2ve4002t1dr2ve5002t2dr3ve5003

Результат как-то не подходит к вопросу. ;) Может, по первым двум полям?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT *, dense_rank() OVER (ORDER BY te, dr) AS num
  FROM (
  VALUES 
('t1', 'dr1', 've1'),
('t1', 'dr1', 've2'),
('t1', 'dr1', 've3'),
('t1', 'dr2', 've4'),
('t1', 'dr2', 've5'),
('t2', 'dr3', 've5')
  ) AS t(te, dr, ve);
...
Рейтинг: 0 / 0
Оконные функции - пронумеровать уникальные комбинации
    #39331867
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да по первым двум полям,
спасибо, то что надо
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Оконные функции - пронумеровать уникальные комбинации
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]