2012-05-22 35 views
0

我收到此错误以下查询。请帮我纠正它。获取错误'#1111 - 无法使用组功能'

#1111 - Invalid use of group function

  • t_person表包含个人信息
  • tr_category表包含类别的详细信息
  • tr_testimonial表中包含的评价值的详细信息

所有的表personpkid共同领域。

SELECT 
    p.*,c.*,t.* 
FROM 
    t_person p 
    LEFT JOIN tr_category c ON p.personpkid=c.personpkid 
    LEFT JOIN tr_testimonial t ON p.personpkid=t.personpkid 
WHERE 
    avg(t.ratingvalue)>=5 
GROUP BY 
    p.personpkid ORDER BY approvedate DESC 

谢谢你在前进, SG

+0

学习如何写问题 – shevski

+2

@shevski如果我可以投票你我会的。这是什么意思,而不是给他一个链接或描述,可以帮助他实现你的建议。 – RSM

+0

@RyanMurphy肯定,http://www.catb.org/~esr/faqs/smart-questions.html – shevski

回答

2

当您使用的是分组表达式过滤效果,你需要使用HAVING条款。试试这个:

SELECT 
    p.*,c.*,t.* 
FROM 
    t_person p 
    LEFT JOIN tr_category c ON p.personpkid=c.personpkid 
    LEFT JOIN tr_testimonial t ON p.personpkid=t.personpkid 
GROUP BY 
    p.personpkid ORDER BY approvedate DESC 
HAVING 
    avg(t.ratingvalue)>=5 
+0

非常感谢Aleks G.这工作。这只是一系列的问题。再次感谢。 – user1409671

相关问题