php - 出现错误 '#1111 - Invalid use of group function'

标签 php mysql sql

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

#1111 - 组函数使用无效

  • t_person 表包含人员详细信息
  • tr_category 表包含类别详细信息
  • tr_testimonial 表包含评级值详细信息

所有表都将 personpkid 作为公共(public)字段。

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

最佳答案

当您使用分组表达式来过滤结果时,您需要使用 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

关于php - 出现错误 '#1111 - Invalid use of group function',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698425/

相关文章:

php - 为简单的应用程序生成 PHAR

php - Laravel - [PDOException] : Could not Find Driver in PostgreSQL - MAC OS

MySQL 在 Mac OS X 上更改 root 默认密码

sql - 将时间戳插入 PostgreSQL 表

php - 在后台搜索产品,例如输入 >=3

php - 服务器使用 gmail 发送电子邮件 smtp 获取警报

php - 我需要了解 php 和 mySQL 将静态网站转换为 WordPress 主题吗

php - 对用户消息 SQL 进行排序

sql - 添加 where 子句会使查询速度变慢

sql - 如何在SQL中使用group by生成json数据