我有账单。现在,我想要检索所有数据,但有折扣,所以,折扣有两种类型,固定金额和百分比,百分比是十进制形式,例如:-0.10为10%,折扣必须是最后得到的和它是由asc订购的。对不起,我的英语不好。这是我的表:
id | bill_item_id | bill_item_amount
1 | 1 | 1000
2 | 3 | -0.12
3 | 2 | -100
4 | 4 | -0.15
bill_item_id = 2表示折扣是固定的,如果是百分比,则bill_item_id是任意数字。
预期输出必须是:
id | bill_item_amount
1 | 1000
3 | -100
4 | -0.15
2 | -0.12
我的查询到目前为止:
SELECT * FROM billing_details order by bill_item_amount < 0 and bill_item_amount > -1 asc
我的查询仅检查百分比折扣,但我也想查看固定折扣。订单将是正常项目,固定折扣,百分比折扣升序。
答案 0 :(得分:0)
试试这个
select
id, bill_item_amount
from
billing_details
order by
bill_item_amount desc;
答案 1 :(得分:0)
如果我理解正确,你需要这个:
SELECT *
FROM billing_details
ORDER BY
CASE WHEN bill_item_amount >= 0 bill_item_amount END DESC,
CASE WHEN bill_item_amount < 0 THEN bill_item_amount END ASC