root09
@root09

Как узнать какой в очередности идет запись?

Есть таблица вида
id, name, count
1, name, 10
2, name2, 110
3, name3, 50

Нужно отсортировать таблицу по полю Count, в порядке убывания, и узнать каким по счету окажется определенный id, как это можно сделать средствами только mysql? или нужно получать все строки и уже обрабатывать их?
т.е например задаем id 3, должны получить ответ что он находится вторым по счету
  • Вопрос задан
  • 147 просмотров
Решения вопроса 2
Сортировка SELECT `count` FROM `table` GROUP BY `count`
Порядок средствами SQL вроде не узнать, но если взять с ограничением
SELECT `count` FROM `table` WHERE `count` >='3' GROUP BY `count`

То тогда запись с `count` = 3 будет последней, считаем количество всех результатов - это и будет место, но не id
Ответ написан
@retvizan
select i from (
SELECT id, @i:=@i+1 i  FROM test, (select @i:=0) x order by `count` desc) t
where id=3;

подробности о пользовательских переменных на русском можно почитать тут и тут
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы