如何使用 SQL 计算高于一组平均值的值?
例如:
我有桌子A
with:
q t
1 5
1 6
1 2
1 8
2 6
2 4
2 3
2 1
第 1 组的平均值为 5.25。组内有两个值高于5.25,8和6;因此高于该组平均值的值的数量为 2。
第 2 组的平均值为 3.5。组内有两个值高于3.5,5和6;因此高于该组平均值的值的数量为 2。
尝试这个 :
select count (*) as countHigher,a.q from yourtable a join
(select AVG(t) as AvgT,q from yourtable a group by q) b on a.q=b.q
where a.t > b.AvgT
group by a.q
在子查询中,您将计算两个组的平均值,将其连接到表中,然后您将从表中选择值大于平均值的所有值的计数
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)