2011-07-10 31 views
7

order byステートメントを持つMySQL照会を作成しようとしています。これは私がやろうとしていることです:nullの場合のMySQL照会順序

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

私はどこから始めるべきかわかりません。 ORDER BY COALESCEを使用した記事を見つけましたが、パフォーマンスに問題があることもわかりました。

アドバイスありがとうございます。

答えて

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

あなたがで注文している値を選択する必要はありません - それは任意の式

+0

ファンタスティックすることができ、ありがとうございました! – puks1978

+0

これは本当に私を救った!また、()の外側にascまたはdescを追加して順序を変更することもできます。 :)ありがとう! – cbloss793

関連する問題