Mysql - 根据两列 : discounted_price and price 订购产品表

标签 mysql sql comparison sql-order-by

我有一个包含以下列的表格(我稍微简化了一下):

  • PRODUCT_name
  • PRODUCT_code
  • PRODUCT_price
  • PRODUCT_discounted_price

现在,当我展示它们时,它们可以按价格排序。问题是:我如何同时考虑 PRODUCT_price 和 PRODUCT_discounted_price,以便如果有 PRODUCT_discounted_price 则与之比较,但如果不存在则忽略它?

例如,如果我有以下产品:

  • 姓名,1、12、10
  • 姓名 2, 2, 11, 0
  • 名字 3, 3, 6, 0
  • 姓名 4、4、25、9
  • 姓名 5、5、30、13

它们应该这样排序:

  • 名字 3, 3, 6, 0
  • 姓名 4、4、25、9
  • 姓名,1、12、10
  • 姓名 2, 2, 11, 0
  • 姓名 5、5、30、13

我该怎么做?

最佳答案

select name, code, if(discounted_price=0,price,discounted_price) as real_price 
from product
order by real_price

关于Mysql - 根据两列 : discounted_price and price 订购产品表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11273605/

相关文章:

java - 比较Java中的数字

c# - 在设置之前比较 boolean 值

sql - 我应该使用什么类型的数据结构来模拟文件系统?

java - 将返回的java字符串转换为sqlsmalldatetime

mysql - 选择组,计算零

sql - 摆脱 SQL Server 中的 "Magic"数字

sql - RPG 编程中不允许使用 null 值吗?

C - 为什么用 & 而不是 switch/if 来比较常量?

mysql - 使用子查询更新非关系表

c# - 如何将存储过程添加到 EF .edmx?