我正在寻找一种将SQL中的平均值相加的方法。这是我拥有的数据的示例:
product avg_price
phone 104.28
car 1000.00
我正在寻找类似这样的东西:
product avg_price
[all] 544.27
phone 104.28
car 1000.00
我当前的操作方式是将计数和总和存储在两个不同的列中,例如:
product cnt total
phone 203 20,304.32
car 404 304,323.30
从中得到平均值。但是,我想知道在SQL中是否可能仅“保留分数”并能够根据需要添加它们。例如:
product avg_price
[all] [add the fractions]
phone 20,304.32 / 203
car 304,323.30 / 404
还是我需要使用两列才能获得多个聚合行的平均值?
答案 0 :(得分:0)
您不需要2列即可获得平均值,但是如果要显示为小数,则需要两个数字。不过,它们不必分成两列。
select product, sum(total) ||'/'||sum(count)
from table a
join table b on a.product=b.product
union
select product, total ||'/'||count
from table a
join table b on a.product=b.product;