【发布时间】:2019-07-01 23:49:23
【问题描述】:
我有以下表格
| id | a | b | c |
-------------------
| 1 | x | y | r |
| 2 | x | y | q |
| 3 | x | y | f |
结果应该是
| a | b | c |
-------------
| x | y | r,q,f |
试过
select a, b, group_concat(c) from table;
但它说:
错误代码:1140。在没有 GROUP BY 的聚合查询中,SELECT 列表的表达式 #1 包含非聚合列“table.table”;这与 sql_mode=only_full_group_by 不兼容
希望你能帮助我,谢谢!
【问题讨论】:
-
错误说明了一切“错误代码:1140。在聚合查询中没有 GROUP BY”错误是正确的,您不能将非聚合列与聚合(GROUP_CONCAT ) 列它不是 ANSI SQL.. 但请注意错误说 without GROUP BY,尝试添加
GROUP BY a, b很确定这会给你正确的结果。 -
@AbdullahAlShakib 不禁用 sql_mode 是个坏主意..
-
我认为,这是查询的一个问题,而不是重复...如果:
select a, b, group_concat(c) from table GROUP BY a, b;,查询看起来会更好
标签: mysql sql group-by group-concat