此错误消息发生在 MySQL 中使用'ONLY_FULL_GROUP_BY'模式时,该模式要求 SELECT 列表中的所有非聚合列都包含在 GROUP BY 子句中。

在此特定情况下,错误是由于将列't_sale_list_goods.goods_num'包含在 SELECT 列表中,但未将其包含在 GROUP BY 子句中造成的。

要解决此错误,您可以选择以下几种方法:

  1. 将't_sale_list_goods.goods_num'列包含在 GROUP BY 子句中:
SELECT t_sale_list_goods.goods_num, ...
FROM ...
GROUP BY t_sale_list_goods.goods_num, ...
  1. 对't_sale_list_goods.goods_num'列使用聚合函数,例如'SUM'、'MIN'、'MAX'等:
SELECT SUM(t_sale_list_goods.goods_num), ...
FROM ...
GROUP BY ...
  1. 禁用'ONLY_FULL_GROUP_BY'模式,如果它对于您的特定用例并非必需。您可以通过修改 MySQL 配置文件中的 SQL 模式,或执行以下命令来实现:
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

请注意,选项 3 应谨慎使用,因为它可能会对代码的其他部分产生意想不到的后果。通常建议遵循最佳实践,并确保所有非聚合列都包含在 GROUP BY 子句中。

MySQL 错误: Expression #2 of SELECT list is not in GROUP BY clause - 解決方案

原文地址: https://www.cveoy.top/t/topic/yxC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录