Не повторяйте with
. Один with
может определять несколько CTE:
with temp as (
select account_id, asm_signatures_classification, count(*) as cnt
from asm_insights
where date = '2020-05-20'
group by account_id, asm_signatures_classification
),
temp2 as (
select account_id, app_id
from asm_insights
where date = '2020-05-20'
)
select *
from temp join
temp2
on temp.account_id = temp2.account_id;
Конечно, это кажется глупым примером, потому что CTE для этого не нужны. Тем не менее, я исправил некоторые проблемы:
ORDER BY
не подходит для CTE (если вы не ограничиваете количество строк). - Все столбцы должны иметь псевдонимы.
Этот конкретный запрос проще записать как:
select account_id, app_id, asm_signatures_classification
cont(*) over (partition by account_id, asm_signatures_classification)
from asm_insights
где date = '2020-05-20'