我有下表
| 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
不兼容
希望您能帮助我,谢谢!
答案 0 :(得分:1)
尝试这样的事情
Select GROUP_CONCAT(DISTINCT c SEPARATOR ',') from table
Group By a,b
答案 1 :(得分:1)
GROUP_CONCAT()
是一个聚合函数,这意味着它需要您对结果进行分组。
此查询返回您的预期结果:
SELECT a, b, GROUP_CONCAT(c ORDER BY id) c
FROM mytable
GROUP BY a, b
注意:
,
是GROUP_CONCAT
的默认分隔符GROUP_CONCAT
支持ORDER BY
a | b | c :- | :- | :---- x | y | r,q,f
答案 2 :(得分:0)
尝试:
选择a,b,GROUP_CONCAT(c)c 从表 按a,b分组