Skip to content

Commit

Permalink
Update top100_view.py
Browse files Browse the repository at this point in the history
  • Loading branch information
adnankattekaden authored Nov 8, 2023
1 parent 67dbe71 commit 00098a2
Showing 1 changed file with 17 additions and 37 deletions.
54 changes: 17 additions & 37 deletions api/top100_coders/top100_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,43 +7,23 @@
class Leaderboard(APIView):
def get(self, request):
query ="""
SELECT
u.id,
u.first_name,
u.last_name,
SUM(kal.karma) AS total_karma,
org.title AS org,
COALESCE(org.dis, d.name) AS dis,
org.state,
u.profile_pic,
MAX(kal.created_at) AS time_,
kal.created_at AS created_at
FROM
karma_activity_log AS kal
INNER JOIN user AS u ON kal.user_id = u.id
INNER JOIN task_list AS tl ON tl.id = kal.task_id
LEFT JOIN (
SELECT
uol.user_id,
org.id,
org.title AS title,
d.name dis,
s.name state
FROM
user_organization_link AS uol
INNER JOIN organization AS org ON org.id = uol.org_id
LEFT JOIN district AS d ON d.id = org.district_id
LEFT JOIN zone AS z ON z.id = d.zone_id
LEFT JOIN state AS s ON s.id = z.state_id
GROUP BY uol.user_id
) AS org ON org.user_id = u.id
LEFT JOIN district AS d ON d.id = u.district_id
WHERE
tl.event = 'TOP100'
AND kal.appraiser_approved = TRUE
AND tl.hashtag = '#thc-realworld-problem-proposal'
GROUP BY u.id
ORDER BY total_karma DESC, time_;
SELECT u.first_name, u.last_name, SUM(kal.karma) AS total_karma, org.title as org, org.dis, org.state, u.profile_pic,MAX(kal.created_at) as time_
FROM karma_activity_log AS kal
INNER JOIN user AS u ON kal.user_id = u.id
INNER JOIN task_list AS tl ON tl.id = kal.task_id
LEFT JOIN (
SELECT uol.user_id, org.id, org.title as title, d.name dis, s.name state
FROM user_organization_link AS uol
INNER JOIN organization AS org ON org.id = uol.org_id
LEFT JOIN district AS d ON d.id = org.district_id
LEFT JOIN zone AS z ON z.id = d.zone_id
LEFT JOIN state AS s ON s.id = z.state_id
GROUP BY uol.user_id
) as org on org.user_id = u.id
WHERE tl.event = 'TOP100' AND kal.appraiser_approved = TRUE
GROUP BY u.id
ORDER BY total_karma DESC, time_
LIMIT 100;
"""
query2 = """
Expand Down

0 comments on commit 00098a2

Please sign in to comment.