如何使用高级ORDER BY情况执行查询?

时间:2014-07-31 19:46:00

标签: php mysql sql

我有一个关于我正在尝试做的MySQL查询的问题。假设我有下表:

表:产品

ID |    Name   | Price | Price_mode |

0  | product1  | 150   |     1      |
1  | product2  | 5     |     2      |
2  | product3  | 8     |     2      |

我希望按price DESC 订购产品,但如果price_mode是" 2",我希望价格乘以a数字,例如20。

根据此标准,表格应按如下顺序排序:product3,product1,product2。

我希望你理解我的问题,谢谢! :)

1 个答案:

答案 0 :(得分:4)

您可以使用order by

中的表达式执行此操作
order by (case when price_mode = 2 then price * 20 else price end) desc