mysql - 按列中的特定值排序

标签 mysql

我有账单表。现在,我想检索所有数据,但有折扣,所以折扣有两种类型,固定金额和百分比,百分比是小数形式,例如:-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

我的查询仅检查百分比折扣,但我也想检查固定折扣。订单将是普通商品、固定折扣、百分比折扣升序。

最佳答案

试试这个

select
  id, bill_item_amount
from
  billing_details
order by
  bill_item_amount desc;

关于mysql - 按列中的特定值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41930684/

相关文章:

html - MySQL HTML 表中的替代颜色编码导致 shell 脚本

php - 上传并插入xls文件到mysql?

mysql - 如何编写 SQL 来转换表,使行变为列,反之亦然

MySQL:从使用同一表的先前查询的结果中删除

php - 如何从 foreach 循环生成的下拉列表中获取和显示值

mysql - 错误命名迁移 - rake db :migrate rejected

php - 在 php 5.3 版本上将 mysql 类转换为 mssql 类

database - 如果日期存储为文本,MYSQL 可以按日期过滤吗?例如 "02/10/1984"

mysql - 如何通过日常交易获得不同的用户

php - 从 php 快速插入 MySQL 表