获取错误'#1111 - 无效使用组功能'

时间:2012-05-22 08:30:10

标签: php mysql sql

我在以下查询中收到此错误。请帮我纠正一下。

#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

1 个答案:

答案 0 :(得分: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