0

I have a table with two columns first for userId & second for marks

+-------+-------+ | UserId | Marks | +--------+-------+ | 1 | 20 | | 1 | 20 | | 3 | 15 | | 1 | 30 | | 3 | 20 | | 4 | 25 | +--------+-------+

I want to count marks of particalur user and then give rank like 1st or 2nd With userId

+-------+-------+ | UserId | Rank | +--------+-------+ | 1 | 1 | | 3 | 2 | | 4 | 3 | +--------+-------+

I have two queries one for Counting marks and second for getting rank but don't know how to combine that both queries and get result like

Queries are :

count total :

SELECT UserId, SUM(Marks) AS total FROM result GROUP BY UserId

Get Rank :

( SELECT UserId, Marks, FIND_IN_SET( Marks, ( SELECT GROUP_CONCAT( Marks ORDER BY Marks DESC ) FROM result ) ) AS rank FROM result ) ORDER BY rank ASC

Kirankumar Dafda
  • 2,354
  • 5
  • 29
  • 56

0 Answers0