在mysql中执行查询时与组相关的错误
Mysql在执行查询(使用Group BY)以获取结果时返回以下错误 错误代码:1055 SELECT列表的表达式#1不在GROUP BY子句中,并且包含未聚合的列“project.ws_images.wi_id”,该列为 功能上不依赖于GROUP BY子句中的列;这是 与sql\u模式不兼容=仅\u完整\u组\u由 我想在月之前得到小组的结果。我已经找到了一些解决方案,但仍然面临着这个问题。到目前为止我已经试过了在mysql中执行查询时与组相关的错误,mysql,sql,mysql-error-1055,Mysql,Sql,Mysql Error 1055,Mysql在执行查询(使用Group BY)以获取结果时返回以下错误 错误代码:1055 SELECT列表的表达式#1不在GROUP BY子句中,并且包含未聚合的列“project.ws_images.wi_id”,该列为 功能上不依赖于GROUP BY子句中的列;这是 与sql\u模式不兼容=仅\u完整\u组\u由 我想在月之前得到小组的结果。我已经找到了一些解决方案,但仍然面临着这个问题。到目前为止我已经试过了 SELECT * FROM `ws_images` WHERE wi_type
SELECT * FROM `ws_images` WHERE wi_type = 'image' GROUP BY MONTH(date_added);
SELECT * FROM `ws_images` WHERE wi_type = 'image' GROUP BY DATE_FORMAT(date_added, '%Y%m');
以上两个查询返回的错误与我前面提到的相同。有人能告诉我我能解决的问题在哪里吗。如果有人指导我,我将不胜感激
在
mysql
中,您应该设置sql\u模式
而不设置仅完整\u GROUP\u BY
来执行您在op中提到的查询。或者您只能选择GROUP BY
子句中的列和一些聚合列。您使用的是一个GROUP BY而不是聚合函数。。mysql 5.7中不允许这种行为,您应该在sql\u模式下设置ONLY\u FULL\u GROUP\u BY
如果不需要重复值,则应特别在select子句中指定所需的列名称,并最终使用distinct(不带group by)
否则,您应该明确地分配列和聚合函数。小心将不在聚合函数中的列分配给group by子句使用select*
和group by
表明对SQL缺乏了解。您应该提供示例数据和所需结果,因为您的查询毫无意义。很抱歉,@GordonLinoff可能重复,请突出显示我的要求。我需要分组的所有结果MONTH@Mr.Developer . . . <代码>按月分组
在需要所有其他列时没有意义<代码>分组依据通常与聚合函数一起使用。如果要在输出中对结果进行可视化分组,则应改为使用排序依据
,并在构建视图时根据需要对结果进行分组