gpt4 book ai didi

mysql - 通过将它们与字段的平均值进行比较来获取每个项目价格的百分比差异

转载 作者:行者123 更新时间:2023-11-29 05:22:30 25 4
gpt4 key购买 nike

您如何获得每个类别的平均价格,将其与该类别的每个项目进行比较并获得百分比差异?

例如,在下表中,一个娃娃的平均价格是 24,因此 B 商品($18)应该是 -25%,比该类别的平均价格便宜。 ((18-24)/24) * 100)。

如何连接这两个查询然后进行计算?

SELECT price from `product` GROUP BY name

SELECT AVG(price) AS average_Price from `product` GROUP BY category

(price - AVG(price))/AVG(price)*100

表格示例:

ID  name    category      price  
1 A Puzzle 5
2 B Doll 18
3 C Puzzle 10
4 D Outdoor 20
5 E Brainteaser 2
6 F Outdoor 40
7 G Doll 30
8 H Brainteaser 9

最佳答案

你可以这样做,使用带有子查询的自连接,这个子查询将获得每个类别的平均价格,然后在选择部分执行你的计算

select t.*,tt.avg_price 
,((t.price - tt.avg_price ) / tt.avg_price *100) precent_diff
from
t
join (select category ,avg(price) avg_price from t group by category) tt
on(t.category = tt.category)

Demo

要有百分号,请使用 concat 和计算部分的最终结果

select t.*,tt.avg_price 
,
concat(
((t.price - tt.avg_price ) / tt.avg_price *100)
,'%')
precent_diff
from
t
join (select category ,avg(price) avg_price from t group by category) tt
on(t.category = tt.category)

Demo with sign

关于mysql - 通过将它们与字段的平均值进行比较来获取每个项目价格的百分比差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24030925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com