Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Получения номера в рейтинге из базы пользователей / 3 сообщений из 3, страница 1 из 1
04.08.2014, 15:45:46
    #38712268
fawus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения номера в рейтинге из базы пользователей
Есть пользователи в базе, у каждого свое количество звезд и дата регистрации, свой город и регион.

id (INT)
rate (INT)
date (datetime)
region (INT)
city (INT)

В ней много пользователей.

Задача в том, чтобы для конкретного пользователя (id) получить его место в рейтинге:
1. Абсолютном, т.е. среди всех пользователей. Если rate у двух пользователей одинаков, то выше в рейтинге должен быть тот, кто раньше зарегистрировался.
2. По региону, т.е. среди пользователей одного региона (region). Если rate у двух пользователей одинаков, то выше в рейтинге должен быть тот, кто раньше зарегистрировался.
3. По городу, т.е. среди пользователей одного города (city). Если rate у двух пользователей одинаков, то выше в рейтинге должен быть тот, кто раньше зарегистрировался.

На страничке пользователя, в итоге, нужно будет получить:
3454 место в России, 343 место в Калужской области, 35 место в Калуге.

Прошу помочь.
...
Рейтинг: 0 / 0
04.08.2014, 15:51:16
    #38712275
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения номера в рейтинге из базы пользователей
А в чём проблема? Рейтинг - это единичка плюс количество тех, кто при сортировке по рейтингу стоИт выше, так что тупо select count() where rate > :rate and ... order by rate, regdate.
Рекомендую не ваять монстра, а делать три отдельных запроса - получится намного быстрее.
...
Рейтинг: 0 / 0
05.08.2014, 17:59:30
    #38713381
mishanon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получения номера в рейтинге из базы пользователей
Рекомендую сделать единый запрос. да и не монстер это будет. всего то максимум 3-4 left join
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Получения номера в рейтинге из базы пользователей / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]