можно ли сделать сортировку по произведению двух числовых полей?

Leonid

PHP? нет, не слышал...
можно ли сделать сортировку по произведению двух числовых полей?

Задача примерно такая. Есть таблица с товарами (всякие сыпучие материалы, типа песок, гравий, щебень) У каждого товара есть цена за кубометр и минимальная партия заказа. Соответственно цена минимальной партии - это произведение этих параметров. Требуется как-то отсортировать выборку по этой цене.

Т.е. что-то вроде order by (price * min_part)
 

BigWindow

Новичок
Все просто:
SELECT *, (price*min_part) as price_min_part FROM materials ORDER BY price_min_part
 

Leonid

PHP? нет, не слышал...
Написал вопрос и сразу понял как сделать

select *, (price*min_part) as mp_price from catalog where ....... order by mp_price
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Leonid
При таком запросе возможны проблемы с производительностью
 

korchasa

LIMB infected
Автор оригинала: Mr_Max
Leonid
При таком запросе возможны проблемы с производительностью
Ну вряд ли на одной странице будет туева хуча товаров выводиться.

Leonid
А если будет то заведите столбец с этим произведением и заполняйте во время добавления/обновления записи.
 

Gas

может по одной?
korchasa
а не важно сколько будет выводится, всё равно будет filesort всей таблицы.
 

Leonid

PHP? нет, не слышал...
Насчет производительности я думаю можно не беспокоится, в таблице не больше 50 товаров...
 
Сверху