2011-07-10 27 views
7

Sipariş ifadesine sahip bir MySQL sorgusu oluşturmaya çalışıyorum. Bunu yapmaya çalışıyorum:MySQL Query order by null

SELECT * 
FROM tbl_product 
ORDER BY retail_price ONLY IF wholesale_price IS NULL OTHERWISE ORDER BY wholesale_price. 

Nereden başlayacağımı bilmiyorum. ORDER BY COALESCE kullanan bir makale buldum, ancak bunun performans sorunları olabileceğini de gördüm.

Herhangi bir tavsiye memnuniyetle karşılanır. Size tarafından sipariş konum değerini seçmek gerekmez

cevap

22
SELECT * 
FROM tbl_product 
ORDER BY ifnull(wholesale_price, retail_price); 

Not - herhangi ifadeyi olabilir

+0

Fantastik, teşekkür ederim! – puks1978

+0

Bu gerçekten beni kurtardı! Siparişi de değiştirmek için() dışına asc veya desc ekleyebilirsin. :) TEŞEKKÜRLER! – cbloss793