2012-04-13 44 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 

合併給你第一個非空值。

+0

所以簡單 - 當你知道如何很容易:)非常感謝你! – penpen 2012-04-13 03:35:18

2

也許這個答案here可以幫助你。我想你想知道的是我們如何根據條件進行排序?

+0

史蒂夫的COALESCE在這裏工作更簡單 - 感謝您的鏈接,但請注意棘手的查詢! – penpen 2012-04-13 03:37:20

+1

@penpen是的,我看到的答案是更簡單:) – 2012-04-13 03:39:24