我表里面有一个字段A的取值范围为1到100,我想查询出以下结果:A为1~1.5时,字段B的平均值;
A为1.5~2时,字段B的平均值;
A为2~2.5时,字段B的平均值;
以此类推,直到
A为99.5~100时,字段B的平均值;请问这个SQL该怎么写?
A为1.5~2时,字段B的平均值;
A为2~2.5时,字段B的平均值;
以此类推,直到
A为99.5~100时,字段B的平均值;请问这个SQL该怎么写?
调试欢乐多
你的意思是不是要统计的时候,先建一临时表:
id tmin tmax
1 1 1.5
2 1.5 2
....
n 99.5 100然后这样:
select avg(t1.B),t2.id from histry as t1,test as t2
where t1.A>=t2.tmin and t1.A<t2.tmax
group by t2.id试了一下,这样是可以的。谢谢先。
不知道有没有办法可以不用建临时表?
起、始、加(减)的常量,用这个函数直接分组就OK了,MYSQL不行。
select floor((351-50)/50)
将351改为你的字段名,按这个分组试试
select floor((a-50)/50),avg(b) from tt group by floor((a-50)/50)
select floor(a/0.5),avg(b) from tt group by floor(a/0.5)
也可以