我的桌子上有很多產品。有些產品有折扣,所以在price_old
字段中給出產品的舊價格,並且price
字段有新的折扣價格。使用sql查詢獲得最大折扣
是否有可能獲得所有產品,按照price_old
和price
之間的最大差異(折扣)排列?
我的桌子上有很多產品。有些產品有折扣,所以在price_old
字段中給出產品的舊價格,並且price
字段有新的折扣價格。使用sql查詢獲得最大折扣
是否有可能獲得所有產品,按照price_old
和price
之間的最大差異(折扣)排列?
你可以這樣做:
SELECT *
FROM products
ORDER BY price_old - price DESC
具有最大price_old - price
差的記錄將先返回,接着具有第二最大的區別記錄等
我可以在這裏添加一些額外的'WHERE'條件嗎?謝謝! – Gediminas
@Gediminas當然可以。過濾後的結果集將按價格的差異進行退貨。 –
select product,price,price_old
from table_name
order by (price_old-price) desc
我認爲你需要order by biggest discounted product
。你需要找到折扣%。
我不覺得覆蓋的場景,所以我在這裏張貼任何一個答案:
SELECT
*,
((price_old - price)/price_old)*100 as 'Discount (%)'
FROM products
ORDER BY 2 DESC
可能是你可以使用這樣,看看有多少折扣是
Select *, (price_old-price) as diff from tablename order by diff desc
select
*, old_price-price discount, (old_price-price)/old_price percent
from
product
order by
discount
desc;
折扣的地方可以用百分比代替以顯示折扣百分比。
最大的價值或百分比? – Shaharyar