使用sql查询获得最大的折扣

时间:2016-03-04 06:32:39

标签: mysql

我桌上有很多产品。有些产品有折扣,因此在price_old字段中给出了产品的旧价格,price字段有新的折扣价。

是否可以获得所有产品,按字段price_oldprice之间的最大差异(折扣)排列?

5 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

SELECT *
FROM products
ORDER BY price_old - price DESC

将首先返回最大 price_old - price差异的记录,然后返回具有第二大差异的记录等。

答案 1 :(得分:0)

select product,price,price_old
from table_name
order by (price_old-price) desc

答案 2 :(得分:0)

我认为你需要order by biggest discounted product。你需要找到折扣%。

我没有找到任何有关该场景的答案,所以我在这里发帖:

SELECT 
    *, 
    ((price_old - price)/price_old)*100 as 'Discount (%)'
FROM products
ORDER BY 2 DESC

答案 3 :(得分:0)

可能你可以像这样用来看看有多少折扣

  Select *, (price_old-price) as diff from tablename order by diff desc 

答案 4 :(得分:0)

select 
    *, old_price-price discount, (old_price-price)/old_price percent 
from 
    product 
order by 
    discount 
desc;

折扣中的地方可以用百分比替换以显示折扣百分比。