在一个表格行中,我有一列product_price。如果产品具有较低的价格(折扣),则在sql结果中将discount_price列设置为别名。如果产品没有折扣(没有更低的价格),则该colum discount_price为空。
我想要的是订购此套装并按照product_price(如果discount_price为空)和discount_price的值排序。
例如
----------------------------------------
ID product_price discount_price
----------------------------------------
1 4800 NULL
2 13000 4400
3 3300 NULL
4 10500 9600
5 1600 NULL
我想在下订单时获得此结果:(如果discount_price为null,请检查product_price中的值,如果discount_price是discout_price中的not_null检查值)
----------------------------------------
ID product_price discount_price
----------------------------------------
4 10500 9600
1 4800 NULL
2 13000 4400
3 3300 NULL
5 1600 NULL
答案 0 :(得分:1)
试试这个:
SELECT * FROM my_table
ORDER BY IFNULL(discount_price, product_price);
答案 1 :(得分:1)
试试这个
SELECT * FROM table1
ORDER BY CASE WHEN discount_price IS NULL then PRODUCT_PRICE
WHEN discount_price IS NOT NULL then discount_price
END DESC