Forum Webscript.Ru
Общие => Базы данных => Тема начата: scasic от 09 Июля 2002, 18:28:08
-
как лучше осуществить сортировку?
есть столбец с ценами
на одни товары цена в $ на другие в рублях (все в одном столбце) float 6,2
для опознания в какой валюте используется еще один столбец
так вот как осуществить сортировку по ценам, чтобы сначала
сортировались долларовые цен а потом рублевые?
-
order by currency_type ASC, price ASC
наверное
-
Можно вообще круто извратиться.
С какого-нть сервака вытаскиваешь курс USD и пишешь следующее:
SELECT currency_type, price, IF(currency_type = \'USD\', price*$kurs_baksa, price) as order_price FROM your_table ORDER BY order_price
$kurs_baksa - переменная которую подставляешь в запрос.
-
Только так, как сказал Alexandr, иначе корректной сортировки не будет.
-
Только так, как сказал Alexandr, иначе корректной сортировки не будет.
Почему только так?
Человеку ведь надо:осуществить сортировку по ценам, чтобы сначала
сортировались долларовые цен а потом рублевые?
-
YA
Только так, как сказал Alexandr, иначе корректной сортировки не будет.
поясни
-
Реальный пример:
select table.*,ROUND(field1/filed2,2) as blabla from table order by blabla desc
Так вот сначала вылазиют нулевые значения blabla а потом максимальные
-
order by currency_type ASC, price ASC
не будем извращаться
вот этот запрос подойдет в самый раз :)
-
не будем извращаться
Почему извращаться?
Юзер увидит отсортированые товары по цене. Ему ведь не важно какой валютой расплачиваться, а важно выбрать цена/качество.
Кстати
order by currency_type ASC, price ASC
ASC можно опустить. Mysql по умолчанию сортирует в порядке возрастания.
-
AliMamed
поясни
Я не заметил, что все проще:чтобы сначала
сортировались долларовые цен а потом рублевые