在SQL中查找子列的平均值

时间:2017-03-04 14:27:55

标签: sql ms-access average

我在访问中有这个表(称为推文),看起来像这样

text   retweetCount    isRetweet
lal       1                 -1
lalal     2                  0
lal       0                  0
lalala    100               -1

我正在使用

SELECT DISTINCT text,
FROM Tweets
WHERE isRetweet = -1;

为了选择独特的"文本"在isRetweet列上有-1。让我们调用原始表的这个子集,表A.

如何找到表A中retweetCount的平均值?

1 个答案:

答案 0 :(得分:1)

你似乎知道足够的SQL,答案应该是显而易见的:

SELECT AVG(retweetCount)
FROM Tweets
WHERE isRetweet = -1;

这基本上就是你问这个问题的方式。如果你不理解SQL,你应该花一点时间学习这门语言,这样你就可以有效地使用它。

如果给定的text值可以通过转发多次出现,那么您需要两个级别的聚合:

SELECT AVG(retweetCount)
FROM (SELECT text, SUM(retweetCount) as retweetCount
      FROM Tweets
      WHERE isRetweet = -1
      GROUP BY text
     ) t;

子查询计算文本的转发总数。然后外部获得平均值。