вот запросик:
select 'первый платеж' as metric,
ptn_date,
28 as sorted,
(sumIf ( amount, sorted = 28 ) / sumIf ( amount, sorted in (28,29,30) ) ) as amount
from main_metrics
where sorted in (28,29,30)
group by ptn_date
он отрабатывает, но неверно, потому что на выходе значение amount = 1 по всем строкам. Если убрать строчку 28 as sorted, то все ок, агрегация работает. В таблице main_metrics есть столбец sorted, по которому я и ставлю условие в агрегации, но кажется, что 28 as sorted его перезаписывает перед агрегацией, и в итоге считается sum(x) / sum(x) = 1. Порядок столбцов в селекте проблемку не решил, я вот сижу чешу голову, как ему скормить правильное значение sorted.
Аж смешно!
Знает кто-нибудь, как это исправить?
сделайте так чтобы вычисляемый столбец по имени не совпадал со столбцом таблицы
Спасибо! Перегрелся по ходу к концу дня
Обсуждают сегодня