@thekot24
Говнокодер.

Как получить место конкретного пользователя?

Используя SQL запрос
SELECT * FROM `users`   WHERE `answers`  > '10' ORDER BY `id`  DESC

вывожу рейтинг пользователей по кол-ву ответов. Как узнать место конкретного пользователя имея id? (В БД есть 'user_id').
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
j-snow
@j-snow
Java junior developer
Допустим у нас есть таблица с id и answers:
vyrGa7V.png

Тогда чтобы получить рейтинг юзера с id=10, надо выполнить примерно такой запрос:
SELECT COUNT(*)
FROM users
WHERE answers > (SELECT answers FROM users WHERE id = 10);


То есть сначала мы делаем выборку по id: получаем число ответов нашего юзера с id=10.
А потом считаем число юзеров, у которых ответов больше, чем у нашего юзера.
Это и будет рейтинг.

Стоит отметить, что у юзеров с одинаковым количеством ответов будет одинаковый рейтинг (что логично, если построение рейтинга идёт лишь по числу ответов).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
подзапросом
выбрать количество тех кто идет в списке до N-ого пользователя.

Т.е. количество всех кто выше этого человека = его позиция
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы