【发布时间】:2017-07-11 01:07:26
【问题描述】:
当我执行查询(使用 Group BY)以获取结果时,Mysql 返回以下错误
错误代码:1055
SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含非聚合列“project.ws_images.wi_id”,它是 在功能上不依赖于 GROUP BY 子句中的列;这是 与 sql_mode=only_full_group_by 不兼容
我想通过 MONTH 获得分组结果。我已经搜索过它并找到了一些解决方案,但仍然面临这个问题。到目前为止我已经尝试过
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');
以上两个查询都返回了我已经提到的相同错误。有人可以指导我可以解决的问题在哪里。如果有人指导我,我将不胜感激。
【问题讨论】:
-
select *与group by的使用说明对SQL 缺乏了解。您应该同时提供示例数据和所需结果,因为您的查询毫无意义。 -
@GordonLinoff 抱歉,请强调我的要求。我需要 MONTH 的所有结果组
-
@Mr.Developer 。 . .当您想要所有其他列时,
group by MONTH没有意义。group by通常与聚合函数一起使用。 -
如果您想在输出中直观地对结果进行分组,您应该改用
ORDER BY,并在构建视图时根据需要对结果进行分组。 sql 中的GROUP BY并没有按照你的想法去做。
标签: mysql sql mysql-error-1055