2014-02-05 55 views
1

我试图得到最新的投票答案的平均分数,每个StackOverflow问题没有被接受的答案。最大的平均值 - SQL

使用下面的查询:

SELECT AVG(MaxScore) 
FROM 
    (SELECT MAX(a.Score) as MaxScore 
    FROM Posts a 
    JOIN Posts q ON q.Id = a.ParentID 
    WHERE q.PostTypeId = 1 AND q.AcceptedAnswerId IS NULL 
    GROUP BY q.Id); 

只给我说: “附近有语法错误 ';'”

任何想法,为什么? 谢谢!

+0

我想你已经在这个查询的最后使用了''符号。你已经删除这个标志,它将工作。 –

+0

这是一样的错误?你更新你的问题后? –

+1

不幸的是,这只是在格式化问题时发生的拼写错误(现在删除)。无论如何谢谢! – karinsofiapaulina

回答

4
SELECT AVG(MaxScore) 
FROM 
    (SELECT MAX(a.Score) as MaxScore 
    FROM Posts a 
    JOIN Posts q ON q.Id = a.ParentID 
    WHERE q.PostTypeId = 1 AND q.AcceptedAnswerId IS NULL 
    GROUP BY q.Id) AS sub; 

根据数据库系统,可能需要这样的子查询的名称,即使您不使用它。