x
sql.all(`SELECT * FROM users ORDER BY points DESC`).then()
How can I sort the list and get the current number on the list? Example:
LIST:
USERID | POINTS
1 | 20
2 | 100
3 | 67
VAR MYID = 1
Output: your the number 3 in the list
Advertisement
Answer
If you just want 3
as a result, you can do:
select 1 + count(*) pos
from mytable t
where points > (select points from mytable t1 where userid = :myid)
Alternatively, you can use window functions:
select pos
from (select t.*, rank() over(order by points) pos from mytable) t
where userid = :myid