@marselabdullin

Как правильно сделать группировку sql?

У меня есть таблица, из которой я загружаю поля и называю их по новому, по одному полю я делаю сумму, но в данном случае group by не срабатывает, так как вылезает ошибка - не знает как группировать остальные поля(not a group by expression), включить эти поля в group by я не могу, так как их ещё нет в таблице

Попробовав partition by все считается нормально, но мне нужна именно склейка строк как в груп бай

Есть ли какой то способ убрать лишние строки в партишн или настроить груп бай с новыми столбцами (создавать дополнительную таблицу не вариант)?
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
@alexalexes
Пронумеруйте Rank-ом или dense_rank c таким же partition с сортировкой rownum и отрежьте лишнее оберткой:
select * from (...) where rnk = 1
PS: Лучше обходиться без оконных функций, если есть решение более классическое. Окошки заставляют обходить выборку заново и ухудшают план выполнения запроса.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы