|
|
|
| Здравствуйте! Нужно сделать сортировку данных по рейтингу, все сортирует, но не правильно ))
Делаю запрос:
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]
Как сделать правильную сортировку? Помогите пожалуйста! | |
|
|
|
|
|
|
|
для: CassIO
(27.10.2008 в 08:13)
| | в пилу 5 ещё + 1 голос :D | |
|
|
|
|
|
|
|
для: 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
|
| |
|
|
|
|
|
|
|
для: Assessor
(27.10.2008 в 08:44)
| | О! :) Изменил тип поля для rating на DECIMAL запросом
ALTER TABLE `ratings` CHANGE `rating` `rating` DECIMAL( 10,2 ) NOT NULL
И все ок! ) Спасибо! | |
|
|
|