From ebef8ee30e662bd83ad0f5aea0b40a176e73b7ba Mon Sep 17 00:00:00 2001 From: Aleksandr Kaekhtin Date: Mon, 21 Oct 2024 17:19:04 +0300 Subject: [PATCH] update apps projects leaderboard query --- backends/toncenter_cpp/apps_v2_projects.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backends/toncenter_cpp/apps_v2_projects.py b/backends/toncenter_cpp/apps_v2_projects.py index 80ed7b2..7d8e6eb 100644 --- a/backends/toncenter_cpp/apps_v2_projects.py +++ b/backends/toncenter_cpp/apps_v2_projects.py @@ -48,15 +48,17 @@ def _do_calculate(self, config: SeasonConfig, dry_run: bool = False): SQL = f""" with project_names as ( {PROJECTS_NAMES} + ), apps_users_stats as ( + select * from tol.apps_users_stats_{config.safe_season_name()} ), eligible as ( - select address, 1 as eligible from tol.apps_users_stats_{config.safe_season_name()} auss + select address, 1 as eligible from apps_users_stats auss join tol.enrollment_{config.safe_season_name()} es using(address) - group by address having count(1) > 1 + group by address having count(1) > 1 ) select project, url, count(distinct address) as total_uaw, coalesce(sum(eligible), 0) as enrolled_wallets, coalesce(cast(sum(points) / sum(eligible) as int), 0) as average_score, coalesce(sum(points), 0) as total_points from project_names - left join tol.apps_users_stats_{config.safe_season_name()} using(project) + left join apps_users_stats using(project) left join eligible using(address) left join tol.apps_points_{config.safe_season_name()} using(address) group by 1, 2