mysql 有两张表,要从表A中取出所有的id,再在表B中查询出每一个id的数据temp,计算他的平均值
可不可以只用一句查询语句做出来我用selectavg(temp)fromAwhere(selectidfromB)只有第一个id的平均值...
可不可以只用一句查询语句做出来
我用select avg(temp)from A where (select id from B)只有第一个id的平均值 展开
我用select avg(temp)from A where (select id from B)只有第一个id的平均值 展开
4个回答
展开全部
select avg(temp) from b where id in (select id from a) group by id
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select a.id,avg(b.temp)
from a left outer join b
on a.id = b.id
from a left outer join b
on a.id = b.id
更多追问追答
追问
我的表A中还有一列是name,如果我想根据temp的平均值,把所有小于37.3的name查询出来,用一句查询语句能实现吗?
追答
select a.id,a.name,avg(b.temp)
from a left outer join b
on a.id = b.id
group by a.id,a.name
having avg(b.temp) < 37.3
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select avg(temp) from a LEFT JOIN b using(id);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这是计算每个temp的品均还是所有的平均
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |