如何执行具有高级ORDER BY情况的查询


How do I execute a query with an advanced ORDER BY situation?

我有一个关于MySQL查询的问题,我想做的。假设我有以下表格:

表:产品

ID |    Name   | Price | Price_mode |
0  | product1  | 150   |     1      |
1  | product2  | 5     |     2      |
2  | product3  | 8     |     2      |

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

有了这个标准,表应该按照如下顺序排列:product3, product1, product2。

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

您可以使用order by中的表达式:

order by (case when price_mode = 2 then price * 20 else price end) desc