【发布时间】:2017-02-26 12:51:23
【问题描述】:
我已更新我的 wampserver (X64)3.0.6 并使用 php 为我正在开发的 Web 应用程序安装 Mysql 5.7.14。在旧版本的 MySql 5.6.17 中运行时,它工作正常。但自从升级到 5.7.14 后,我收到了这个错误:
SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含 非聚合列 'pharmezy-2.p.idproduct' 不是 功能上依赖于 GROUP BY 子句中的列;这是 与 sql_mode=only_full_group_by 不兼容
我的查询是:
SELECT p.idproduct, p.idproduct, p.product_name, pi.image_url, u.u_company,
p.product_rating FROM product p join product_image pi on p.idproduct=pi.idproduct
join users u on p.idusers = u.idusers where p.idprocess=1 and p.product_status=1
group by u.u_company
谢谢
【问题讨论】:
-
如果您仅按
u.u_company分组,则必须对 select 语句中的所有其他列使用聚合函数。如果您还想按其他列分组,那么您还需要将所有其他列按条件分组。这可能会对您有所帮助:w3schools.com/sql/sql_groupby.asp -
这次我使用的是 u.u_company,aggregate_function(u.u_company) 但 FUNCTION pharmezy-2.aggregate_function 不存在
-
一个聚合函数例如是
MAX()、MIN()、AVG()、COUNT()等。提供的链接中有示例。