Общие > Базы данных

Упорядочивание записей...

(1/2) > >>

wheelszeus:
Здравствуйте уважаемые.
У меня есть таблица в MySQl:
create table price (
id int not null auto_increment,
add_date datetime,
name varchar(255) not null,
price_s varchar(25) not null,
primary key(id)
);
в столбце price_s вот такие значения 990005, 999005, 1000000.
Делаю запрос SELECT * FROM price ORDER BY price_s DESC;
Типа хочу упорядочить по столбцу price_s, но почему то получается так, что он сначало выводит 999005, а потом только 1000000, хотя последнее больше. Почему? Дело в запросе? Может как то иначе составить запрос? Или на пхп сделать какую нить функцию?
Заранее спасибо.

Меняздесьдавнонет:
хранить надо данные в полях того типа, которые для них предназначены.
к пхп вопрос не имеет ни малейшего отношения.

commander:

--- Цитировать ---в столбце price_s вот такие значения 990005, 999005, 1000000.
--- Конец цитаты ---

все цены желательно хранить в типе данных int.

P.S. существуют так же типы данных ориентированные именно по цены аля:  (money, numeric(n, 2)) но эти типы надо использовать с осторожностью дабы небыло неточностей при сокращинии...

Croaker:
wheelszeus

Дело в запросе. Поле price_s у тебя строковое, а ты хочешь, чтобы оно сортировалось как число.

Либо измени тип поля price_s на INTEGER (или DOUBLE, что правильней, т.к. цена может содержать десятичную и сотую части), либо пошарься по ману MySQL - там должна быть функция привидения типов (как зовется - не помню).

Croaker:

--- Цитировать ---commander:
существуют так же типы данных ориентированные именно по цены аля: money
--- Конец цитаты ---


в MySQL?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии