子查询上的摘要函数

时间:2011-05-29 08:48:54

标签: sql

我可以获得子查询中返回的所有数字的均值吗?例如,我需要从另一个表中附加所有'y'的均值,该表的'x'小于当前行的'x'。

像 -

select a.x,
mean(b.y where b.x<a.x from data2 b) as m_y
from data1 a

它不起作用。获得结果的正确语法(或技巧)是什么?

2 个答案:

答案 0 :(得分:1)

除非我遗漏了某些东西,否则你会使用标准的AVG聚合。

这也可以表示为JOIN

select
   a.x,
   AVG (b.y) AS m_z
from
   data1 a
   LEFT JOIN
   data2 b ON b.x<a.x
group by
   a.x

答案 1 :(得分:0)

没关系,我明白了。

select a.x,
select(mean(b.y) where b.x<a.x from data2 b) as m_y
from data1 a

我的sql生锈了不使用。