求救,求好人!
怎么样才查出哪些行参与了平均数计算?
平均数的计算方法是:(先算的是a的并且在范围内的平均值,b是比例,然后是统计)
SELECT [name], AVG(a) as a, SUM(CASE WHEN b<=5 THEN 1 ELSE 0 END) * 100.0 / COUNT(b) AS bFROM taGROUP BY namehaving AVG(a)>'1'UNION ALL SELECT '统计', AVG(a) as a,AVG(b) as bFROM(SELECT [name], AVG(a) as a, SUM(CASE WHEN b<=5 THEN 1 ELSE 0 END) * 100.0 / COUNT(b) AS bFROM taGROUP BY namehaving AVG(a)>'1')ta
select * from tbwhere name in(select name from(SELECT [name], AVG(a) as a, SUM(CASE WHEN b<=5 THEN 1 ELSE 0 END) * 100.0 / COUNT(b) AS bFROM taGROUP BY namehaving AVG(a)>'1'UNION ALL SELECT '统计', AVG(a) as a,AVG(b) as bFROM(SELECT [name], AVG(a) as a, SUM(CASE WHEN b<=5 THEN 1 ELSE 0 END) * 100.0 / COUNT(b) AS bFROM taGROUP BY namehaving AVG(a)>'1')ta)t)
[解决办法]
把AVG去掉就行了
[解决办法]
去掉所有avg就可以了