从MYSQL中GROUPBY子句之后的列中收集所有非数值
我有一个MySQL表,它定义了列之间的因果关系。这里发生的从MYSQL中GROUPBY子句之后的列中收集所有非数值,mysql,sql,stored-procedures,ddl,Mysql,Sql,Stored Procedures,Ddl,我有一个MySQL表,它定义了列之间的因果关系。这里发生的事件\u B是因为事件\u A。对于该行ID,事件\u A中存在的任何值在事件\u B中都不存在 Row_ID Event_A Event_B ------------------------- 1 A1 B1 2 A2 B3 3 A1 B2 4 A4 A1 当考虑来自事件_A的A1时,其值将是来自事件_
事件\u B
是因为事件\u A
。对于该行ID
,事件\u A
中存在的任何值在事件\u B
中都不存在
Row_ID Event_A Event_B
-------------------------
1 A1 B1
2 A2 B3
3 A1 B2
4 A4 A1
当考虑来自事件_A
的A1时,其值将是来自事件_B
{B1,B2}的所有值,但在任何情况下均不得包括A1
Event_A
和Event_B
列中的值是重复的
在应用Event_A
上的groupby
子句时,我想将相应Event_A
列的Event_B
的所有值收集到一个变量/集合/集合中
需要一些关于SQL脚本的说明才能继续
[编辑]:
解决方案如下:
A1 -- {B1, B2}
A2 -- {B3}
A4 -- {A1}
您只需要
组\u concat()
试试这个:
SELECT Event_A, GROUP_CONCAT(Event_B)
FROM your_table
GROUP BY Event_A;
请编辑您的问题并显示所需的结果。或者
分组讨论(按事件的顺序排列)
?哦,对不起,@Gordon,我在发布我的问题之前没有注意到您的答案。@Gordon Linoff:非常感谢。加油@蒂姆,你能试着解释一下你为什么改变了它吗?这可能有助于一些人更好地理解您提出解决方案的原因above@BogdanEmilMariesan,不,我没有改变任何事情,当我开始回答时,没有任何答案,但当我按下“添加答案”按钮时,发现戈登·林诺夫比我早两分钟回答了。我对此表示歉意,你可以从他的回答中看出。
SELECT Event_A, GROUP_CONCAT(Event_B)
FROM your_table
GROUP BY Event_A;