我在以下查询中收到此错误。请帮我纠正一下。
#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 :(得分: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