Size: a a a

pgsql – PostgreSQL

2020 May 20

DB

Dimitriy Belokon in pgsql – PostgreSQL
[ ID ], [ Table_A_ID ], [ external_ID ], [ Cluster_ID ]
1, 23, qwe, N;
2, 23, xcx, N;

В рамках записей с одной Table_A_ID может быть только единый Cluster_ID = N. Но Cluster_ID может быть и у других записей с другими Table_A_ID, если там встретится какой-то из external_ID с уже присвоенным ранее Cluster_ID.
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
исправил
источник

VY

Victor Yegorov in pgsql – PostgreSQL
определите “с уже присвоенным ранее Cluster_ID” — что значит “ранее”? каков порядок сортировки?
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
[ ID ], [ Table_A_ID ], [ external_ID ], [ Cluster_ID ]
1000, 234, qwe, N; <— Cluster_ID для qwe равен N в ID = 1
1001, 2355, ooo, N+1;
1002, 2355, pop, N+1;
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
вот сам Cluster_ID для всех записей мне и нужно выяснить
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
[ ID ], [ Table_A_ID ], [ external_ID ], [ Cluster_ID ]
2000, 333, ooo, N+1; <— Cluster_ID для ooo равен N+1 в ID = 1001 а значит и все Table_A_ID = 333 того же Cluster_ID;
2001, 333, aaa, N+1;
2002, 2356, pop, N+3;
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
наверное это сложно для бд...
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
безумные пересечения, много подсчетов
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Dimitriy Belokon
[ ID ], [ Table_A_ID ], [ external_ID ], [ Cluster_ID ]
2000, 333, ooo, N+1; <— Cluster_ID для ooo равен N+1 в ID = 1001 а значит и все Table_A_ID = 333 того же Cluster_ID;
2001, 333, aaa, N+1;
2002, 2356, pop, N+3;
т.е. ORDER BY id
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
да
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Dimitriy Belokon
[ ID ], [ Table_A_ID ], [ external_ID ], [ Cluster_ID ]
1, 23, qwe, N;
2, 23, xcx, N;

В рамках записей с одной Table_A_ID может быть только единый Cluster_ID = N. Но Cluster_ID может быть и у других записей с другими Table_A_ID, если там встретится какой-то из external_ID с уже присвоенным ранее Cluster_ID.
вот это В рамках записей с одной Table_A_ID может быть только единый Cluster_ID = N противоречит вот этому:
1001, 2355, ooo, N+1;
1002, 2355, pop, N+2;
источник

.P

. Prividen in pgsql – PostgreSQL
Victor Yegorov
скажем так: проблема была понятна, кривая оценка. а вот как её решить — вопрос другой, стандартные методы не работали.
была бы возможность изменить запрос, было бы проще.
да, понимаю. Я попробовал погрепать этот запрос по частям в исходниках RT, но без успеха. Похоже он динамический получается, в зависимости от их перловой экосистемы.
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
Victor Yegorov
вот это В рамках записей с одной Table_A_ID может быть только единый Cluster_ID = N противоречит вот этому:
1001, 2355, ooo, N+1;
1002, 2355, pop, N+2;
да, это моя ошибка, такого быть не может
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
1001, 2355, ooo, N+1;
1002, 2355, pop, N+1;
источник

DB

Dimitriy Belokon in pgsql – PostgreSQL
я просто спешил написать и не заметил, что одинаковый Table_A_ID
источник
2020 May 21

С🥔

Скрудж 🥔 in pgsql – PostgreSQL
INSERT INTO partners(group_id, user_id, terms, timestamp) VALUES (1, 1, 50, '2020-05-19 06:49:23.880582') ON CONFLICT DO NOTHING RETURNING terms;

Подскажите пожалуйта, почему RETURNING не работает?
источник

С🥔

Скрудж 🥔 in pgsql – PostgreSQL
Когда запись есть в БД*
источник

MA

Maxim Antsiferov in pgsql – PostgreSQL
Не подскажите как получить количество записей в таблице с шагом в час/день/неделю?
источник

RU

Roman Usachev in pgsql – PostgreSQL
select count(*) from table group by date_trunc(date_column, 'day'); -- hour/week
источник

MA

Maxim Antsiferov in pgsql – PostgreSQL
Roman Usachev
select count(*) from table group by date_trunc(date_column, 'day'); -- hour/week
если в какой-то час не будет записей, там будет ноль?
источник