SQLite - сортируй и получай число в списке - PullRequest
1 голос
/ 12 февраля 2020
sql.all(`SELECT * FROM users ORDER BY points DESC`).then()

Как мне отсортировать список и получить текущий номер в списке? Пример:

LIST:
USERID | POINTS
1 | 20
2 | 100
3 | 67

VAR MYID = 1

Output: your the number 3 in the list

1 Ответ

1 голос
/ 12 февраля 2020

Если вы просто хотите получить 3 в результате, вы можете сделать:

select 1 + count(*) pos
from mytable t
where points > (select points from mytable t1 where userid = :myid)

В качестве альтернативы, вы можете использовать оконные функции:

select pos
from (select t.*, rank() over(order by points) pos from mytable) t
where userid = :myid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...