В течение последних двух дней я задавал вопросы о ранговых запросах в Mysql. Пока у меня есть рабочие запросы для
- запросить все строки таблицы и упорядочить их по рангу.
- запрашивать ТОЛЬКО одну строку с ее рангом
Вот ссылка на мой вопрос с прошлой ночи
Как получить ранг строки?
Как вы могли заметить, запрос btilly довольно быстрый.
Вот запрос для получения ТОЛЬКО одной строки с ее рангом, который я сделал на основе запроса btilly.
set @points = -1;
set @num = 0;
select * from (
SELECT id
, points
, @num := if(@points = points, @num, @num + 1) as point_rank
, @points := points as dummy
FROM points
ORDER BY points desc, id asc
) as test where test.id = 3
Приведенный выше запрос использует подзапрос ... так что ... я беспокоюсь о производительности.
есть ли другие быстрые запросы, которые я могу использовать?
Таблица очков
id points
1 50
2 50
3 40
4 30
5 30
6 20