Запрос Presto SQL для расчета процентных просмотров

Я должен рассчитать% вклада для каждой категории.

Запрос Presto SQL для расчета процентных просмотров

SELECT portfolio, (total_portfolio_views*1.00000/total_views)*100 view_contribution_perc
FROM(
select portfolio,sum(portfolio_views) AS total_portfolio_views, (select sum(portfolio_views) from gold.user_daily_osv) as total_views
from gold.user_daily_osv
group by 1
)
ORDER BY 2 DESC

Хотя это работает нормально, но выполнение занимает много времени, поскольку это огромные таблицы, любой другой обходной путь для того же был бы очень полезен.

Redshift и presto - это разные движки sql. Какой из них вы используете?

Guru Stron 06.05.2022 22:07

@GuruStron Я использую Presto

rita mishra 07.05.2022 14:47
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
2
29
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать использовать sumоконная функция для вычисления общего количества просмотров в совокупности:

SELECT portfolio,
    (total_portfolio_views * 1.0 / sum(total_portfolio_views) over ()) * 100 view_contribution_perc
FROM(
        select portfolio,
            sum(portfolio_views) AS total_portfolio_views
        from gold.user_daily_osv
        group by 1
    )
ORDER BY 2 DESC

Другие вопросы по теме