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

Форум MySQL

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

 

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

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

тема: Не правильная сортировка MySQL
 
 автор: CassIO   (27.10.2008 в 08:13)   письмо автору
 
 

Здравствуйте! Нужно сделать сортировку данных по рейтингу, все сортирует, но не правильно ))

Делаю запрос:

SELECT * FROM `ratings` ORDER BY `rating` DESC LIMIT 0 , 10

Получаю ответ:
1 - Пила 5 [8,67]
2 - Макс Пэйн [8,5]
3 - Мадагаскар 2 [8,2]
4 - Когда ты в послед... [6,5]
5 - Сказки на ночь [5,5]
6 - Квант милосердия [10]

Рейтинг указан в квадратных скобках, по идее должно быть так:

1 - Квант милосердия [10]
2 - Пила 5 [8,67]
3 - Макс Пэйн [8,5]
4 - Мадагаскар 2 [8,2]
5 - Когда ты в послед... [6,5]
6 - Сказки на ночь [5,5]

Как сделать правильную сортировку? Помогите пожалуйста!

  Ответить  
 
 автор: sl1p   (27.10.2008 в 08:20)   письмо автору
 
   для: CassIO   (27.10.2008 в 08:13)
 

в пилу 5 ещё + 1 голос :D

  Ответить  
 
 автор: Assessor   (27.10.2008 в 08:44)   письмо автору
 
   для: CassIO   (27.10.2008 в 08:13)
 

Как я понимаю у вас поле rating относиться к типу VARCHAR? Попробуйте как-нить так, но лучше изначально правильно спроектировать БД...
SELECT CAST( rating AS DECIMAL( 5, 2 ) ) AS tmp_r, rating
FROM `ratings`
ORDER BY tmp_r DESC, rating

  Ответить  
 
 автор: CassIO   (27.10.2008 в 09:02)   письмо автору
 
   для: Assessor   (27.10.2008 в 08:44)
 

О! :) Изменил тип поля для rating на DECIMAL запросом

ALTER TABLE `ratings` CHANGE `rating` `rating` DECIMAL( 10,2 ) NOT NULL

И все ок! ) Спасибо!

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

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