0

我通过以下查询收到此错误。请帮我改正。

#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

4

1 回答 1

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
于 2012-05-22T08:33:11.443 回答