@@ -17,6 +17,7 @@ export class LeaderboardRepository {
1717 SELECT
1818 u.id AS id,
1919 u.email AS email,
20+ u.username AS username,
2021 COALESCE(SUM(ts.today_view), 0) AS total_views,
2122 COALESCE(SUM(ts.today_like), 0) AS total_likes,
2223 COUNT(DISTINCT CASE WHEN p.is_active = true THEN p.id END) AS total_posts,
@@ -27,8 +28,8 @@ export class LeaderboardRepository {
2728 LEFT JOIN posts_post p ON p.user_id = u.id
2829 LEFT JOIN today_stats ts ON ts.post_id = p.id
2930 LEFT JOIN start_stats ss ON ss.post_id = p.id
30- WHERE u.email IS NOT NULL
31- GROUP BY u.id, u.email
31+ WHERE u.username IS NOT NULL
32+ GROUP BY u.id, u.email, u.username
3233 ORDER BY ${ this . SORT_COL_MAPPING [ sort ] } DESC, u.id
3334 LIMIT $1;
3435 ` ;
@@ -52,11 +53,13 @@ export class LeaderboardRepository {
5253 p.title,
5354 p.slug,
5455 p.released_at,
56+ u.username AS username,
5557 COALESCE(ts.today_view, 0) AS total_views,
5658 COALESCE(ts.today_like, 0) AS total_likes,
5759 COALESCE(ts.today_view, 0) - COALESCE(ss.start_view, COALESCE(ts.today_view, 0)) AS view_diff,
5860 COALESCE(ts.today_like, 0) - COALESCE(ss.start_like, COALESCE(ts.today_like, 0)) AS like_diff
5961 FROM posts_post p
62+ LEFT JOIN users_user u ON u.id = p.user_id
6063 LEFT JOIN today_stats ts ON ts.post_id = p.id
6164 LEFT JOIN start_stats ss ON ss.post_id = p.id
6265 WHERE p.is_active = true
0 commit comments