[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql desc
VELIK505
У каждого юзера есть рейтинг. он может быть. 0, 1, 2, 3, и тд и так же 0.12, 0.25, 23.45, 2.30, 68.05 и тд.
делаю запрос:
select name, reyting FROM tb_us ORDER BY reyting DESC limit 100

ну и выводит соответственно не по порядку то есть.
9.3 - будет выше чем 68.35
как сделать в такой ситуации чтобы шли по порядку по убыванию?
VELIK505
Всё разобрался:
select name, reyting FROM tb_us ORDER BY reyting+0 DESC limit 100

+ 0 для конвертации строки в число.
Zzepish
VELIK505
полезно! надо будет запомнить) спасибо)
kaww
VELIK505, назначь полю соответствующий тип (decimal), чтобы не делать +0
Winston
... ORDER BY CAST(`reyting` AS DECIMAL(5,2)) DESC LIMIT 100
VELIK505
Цитата (kaww @ 28.10.2012 - 00:26)
VELIK505, назначь полю соответствующий тип (decimal), чтобы не делать +0

А decimal он будет такие числа хранить?
kaww
decimal как раз для хранения таких данных
killer8080
VELIK505
надо правильно выбирать тип поля при проектировании бд, чтобы не было потом такого гемора. Лучше один раз сделать alter table, чем вот так извращаться при каждом запросе.
VELIK505
Всем спасибо а вот там в табличке 15 000 юзеров. Мне надо индекс ставить на поле reyting ?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.