Size: a a a

pgsql – PostgreSQL

2020 December 26

VA

Vladimir Abrikosov in pgsql – PostgreSQL
Выбирайте любой, устанавливайте, подключайте бд и вперёд
источник

R

Rustamov in pgsql – PostgreSQL
Спасибо
источник

AG

Artem Gilmudinov in pgsql – PostgreSQL
Alexey Lesovsky
приведите хотя бы пример запроса который падает с ошибкой "column "contests.name" must appear in the GROUP BY clause or be used in an aggregate function"
SELECT
 records.id AS id,
 contests.name AS contest_name,
 COUNT (records_rating.rating) AS record_voices
FROM records
LEFT JOIN records_rating ON records.id = records_rating.record_id
LEFT JOIN contests_records ON records.id = contests_records.record_id
LEFT JOIN contests ON contests.id = contests_records.contest_id
GROUP BY records.id, contests.id

До миграции этот скрипт работает ок. После миграции падает с этой ошибкой.
источник

А

Асташкин Андрей... in pgsql – PostgreSQL
Artem Gilmudinov
SELECT
 records.id AS id,
 contests.name AS contest_name,
 COUNT (records_rating.rating) AS record_voices
FROM records
LEFT JOIN records_rating ON records.id = records_rating.record_id
LEFT JOIN contests_records ON records.id = contests_records.record_id
LEFT JOIN contests ON contests.id = contests_records.contest_id
GROUP BY records.id, contests.id

До миграции этот скрипт работает ок. После миграции падает с этой ошибкой.
Contests.id на name замени в группировке
источник

AG

Artem Gilmudinov in pgsql – PostgreSQL
Асташкин Андрей
Contests.id на name замени в группировке
Это работает да. Но непонятно, почему тогда работает до миграции.
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Artem Gilmudinov
Это работает да. Но непонятно, почему тогда работает до миграции.
потому что contests.id скорее всего PK. Postgres понимает, что если вы группируете по PK, то все остальные колонки зависимы и не требует указывать их.
после подмены contests (была таблица, стала вьюшка) PK исчезает и вам предъявляют за это
источник

AG

Artem Gilmudinov in pgsql – PostgreSQL
Victor Yegorov
потому что contests.id скорее всего PK. Postgres понимает, что если вы группируете по PK, то все остальные колонки зависимы и не требует указывать их.
после подмены contests (была таблица, стала вьюшка) PK исчезает и вам предъявляют за это
Понятно. А это никак нельзя обойти не указывая кучу колонок в GROUP BY?
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
Artem Gilmudinov
Понятно. А это никак нельзя обойти не указывая кучу колонок в GROUP BY?
не указывая имена колонок, или НЕ указывая полные имена с учётом таблиц от джойна (или алиасов)  ?
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
грамманаци не пропустили бы запрос и до миграции в связи с формальной неоднозначностью имён столбцов
источник

AG

Artem Gilmudinov in pgsql – PostgreSQL
Dimitri Grinkevich
не указывая имена колонок, или НЕ указывая полные имена с учётом таблиц от джойна (или алиасов)  ?
Не указывая имена колонок подмененной на вьюху таблицы. Охота обойтись только лишь указанием PK колонки.
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
SELECT
 contests.name AS contest_name,
FROM records
LEFT JOIN records_rating ON records.id = records_rating.record_id
LEFT JOIN contests_records ON records.id = contests_records.record_id
LEFT JOIN contests ON contests.id = contests_records.contest_id
GROUP BY records.id, contests.id
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
группировки по имени нет
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
движок как-то вычитал наверно признак юник и не стал бастовать
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
надо или добавить в группировку поле
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
или фиктивный агрегат в селект
источник

DG

Dimitri Grinkevich in pgsql – PostgreSQL
мин макс подойдёт
источник

AG

Artem Gilmudinov in pgsql – PostgreSQL
Оки. Спасибо всем за помощь!
источник

R

Rustamov in pgsql – PostgreSQL
Подскажите, пожалуйста.  как просуммировать значения в столбцах ?
источник

JD

Jim Di in pgsql – PostgreSQL
заглянуть в документацию, для начала
источник

AD

Artemiy Dubovoy in pgsql – PostgreSQL
Rustamov
Подскажите, пожалуйста.  как просуммировать значения в столбцах ?
Или расскажите, как вы уже попробовали, и что у вас не получилось
источник