Сортировка в php/mysql

Статус
В этой теме нельзя размещать новые ответы.

eugenel

Постоялец
Регистрация
3 Авг 2008
Сообщения
125
Реакции
13
в phpmyadmin или запрос: "SELECT * FROM `shop_tovar` ORDER BY `price_guest` DESC LIMIT 0 , 30" сортирует так:
1
10
2
А как сделать, чтобы было правильно?:
1
2
10
==========
Поле: price_guest varchar(255) cp1251_general_ci
 
SELECT * FROM `shop_tovar` ORDER BY `price_guest` ASC LIMIT 0 , 3

Хотя и DESC неправильно сортирует!
 
Нужно преобразовать price_guest в числовое значение.

SELECT cast(price_guest as integer) as price_guest FROM `shop_tovar` ORDER BY `price_guest` DESC

или

SELECT convert(price_guest, integer) as price_guest FROM `shop_tovar` ORDER BY `price_guest` DESC
 
Разобрался. спасибо.
Нужно преобразовать price_guest в числовое значение.
SELECT cast(price_guest as integer) as price_guest FROM `shop_tovar` ORDER BY `price_guest` DESC

или

SELECT convert(price_guest, integer) as price_guest FROM `shop_tovar` ORDER BY `price_guest` DESC
Этот вариант что то не заработал. но за идею с типами данных, спасибо
 
Разобрался. спасибо.
Нужно преобразовать price_guest в числовое значение.

Этот вариант что то не заработал. но за идею с типами данных, спасибо

Ну конечно не заработал, надо отсортировать по возрастанию:

SELECT cast(price_guest as integer) as price_guest FROM `shop_tovar` ORDER BY `price_guest` ASC
 
Разобрался. спасибо.
Нужно преобразовать price_guest в числовое значение.

Этот вариант что то не заработал. но за идею с типами данных, спасибо

Скорее всего, не заработал потому, что в столбце есть нечисловые значения или null'ы.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху