2012-04-13 6 views
1

У меня есть таблица вроде этого:Сортировка/Сортировка MySQL с двумя полями

Product Price Sale 
------------------------ 
Watch  10.00 6.00 
Socks  8.00 
Pen  4.00 
Lamp  15.00 12.00 

Есть простой способ, я могу заказать продукты по самой низкой цене?

Если столбец продажи имеет значение, я хочу использовать это вместо столбца цены. Так отсортированный по цене по возрастанию я получаю:

Pen 
Watch 
Socks 
Lamp 

ответ

6

Вы можете использовать coalesce для достижения того, что ищете.

select * 
    from mytable 
order by coalesce(Sale, Price) ASC 

Coalesce дает вам первое непустое значение.

+0

Так просто-легко, когда вы знаете, как :) Большое спасибо! – penpen

2

Возможно, этот ответ here может помочь вам. Я думаю, что вы хотите знать, как мы можем правильно сортировать по условию?

+0

COALESCE от Стива работает проще здесь - спасибо за ссылку, хотя, помните об этом для более сложных запросов! – penpen

+1

@penpen да, я вижу, что ответ более прост :) –

Смежные вопросы