sql server 2008中,如何得出:A列除以B列,然后算出他们的平均值,还有一个条件:先按照name分组。在线等

有一个Orders表,先按照ordername分组,然后计算每一组中的A列除以B列后所有行的平均值。我这么写的,但是错的:selectavg(rate)from(sele... 有一个Orders表,先按照ordername分组,然后计算每一组中的A列除以B列后所有行的平均值。
我这么写的,但是错的:select avg(rate) from (select round(finishedNumber/quatity,4) as rate from Orders Order by ordername)
我打错了我,上述分组是用group by,不是 order by排序!
展开
 我来答
sun_siliang
2011-04-19 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4514万
展开全部
with cte_t(rate)
as (select round(sum(finishedNumber)/sum(quatity),4) from Orders group by ordername)
select rate from cte_t --如果是求全部平均,则改为:select avg(rate) from cte_t
追问
显示得出每一行的A与B的商,然后才求平均值,平均值是按分组以后算的,就是先分组,在求平均值!
追答
我已将order by 改为group by了。
才输学潜
2011-04-19 · TA获得超过338个赞
知道小有建树答主
回答量:540
采纳率:0%
帮助的人:95.2万
展开全部
SELECT ORDERNAME, AVG(A/B) FROM ORDERS
GROUP BY ORDERNAME
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式