Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка с определением позиции
 
 автор: Jeick9   (15.01.2016 в 00:27)   письмо автору
 
 

Доброе время суток, форумчане.
Собственно, пытаюсь получить порядковый номер при сортировки полей. Нашел такой вот простой рабочий пример, но проблема состоит в том, что значение active бывает одинаковые, и в таком случае номер позиции также совпадает. Подскажите пожалуйста как увеличить значение следующего элемента на 1, при совпадении значения поля active?

SELECT COUNT(*) FROM players WHERE active > (SELECT active FROM players WHERE id = ?)

  Ответить  
 
 автор: Valick   (15.01.2016 в 09:24)   письмо автору
 
   для: Jeick9   (15.01.2016 в 00:27)
 

не совсем понятен вопрос
покажите дамп таблицы (несколько строк) и желаемый результат

  Ответить  
 
 автор: Jeick9   (15.01.2016 в 11:44)   письмо автору
 
   для: Valick   (15.01.2016 в 09:24)
 

Допустим таблица БД содержит такие записи:
active | players | rank
2 | Max | 0
8 | Alex | 0
5 | Bob | 0
8 | Nik | 0
1 | Rex | 0
----------------------------------

Мне нужно отсортировать записи по убыванию active и присвоить колонке rank номер позиции. То есть:
active | players | rank
8 | Alex | 1
8 | Nik | 2
5 | Bob | 3
2 | Max | 4
1 | Rex | 5
----------------------------------

Но, проблема в том, что Alex и Nik полям rank присваивается значение 1.

  Ответить  
 
 автор: Valick   (15.01.2016 в 12:06)   письмо автору
 
   для: Jeick9   (15.01.2016 в 11:44)
 

зачем их нумеровать( это разовая операция или надо постоянно перенумеровывать в зависимости от сортировки), обычно это делается на этапе вывода, как вы собираетесь использовать rank?

  Ответить  
 
 автор: Jeick9   (15.01.2016 в 12:39)   письмо автору
 
   для: Valick   (15.01.2016 в 12:06)
 

Это разовая операция (запуская скрипт один раз в сутки). Мне просто нужно вывести номер позиции юзера в рейтинге.

  Ответить  
 
 автор: Trianon   (15.01.2016 в 14:09)   письмо автору
 
   для: Jeick9   (15.01.2016 в 12:39)
 

Так если рейтинг у юзеров одинаковый, почему ж вы пытаетесь одного из них ущемить более, чем другого?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования