2010-10-13 61 views
21

我有一个数据集是这样的:集团在一个不同的行通过合并字符串

Column1 Column2 
    1  A 
    1  B 
    1  C 
    1  D 
    2  E 
    2  F 
    2  G 
    3  H 
    3  I 

,我想将其合并到这样的事情:

Column1 Column2 
    1  A, B, C 
    2  D, E, F, G 
    3  H, I 

是否有可能做这在SQLite不知何故?我虽然GROUP BY Column1,但我不知道如何将Column2数据结合到一个字符串中...

谢谢!

+1

GROUP_CONCAT无法在Android设备或模拟器中工作 – nida 2013-05-14 10:29:57

回答

44
SELECT Column1, group_concat(Column2) FROM Table GROUP BY Column1 

GROUP_CONCAT有一个可选的第二个参数(字符串)作为连接分离使用,如果你不希望有一个单一的“”字符。

+1

@ nida的评论“GROUP_CONCAT在Android设备或模拟器中不起作用”属于此答案,而不属于原始问题。不过,我只是在果冻豆设备(华为)和棒棒糖设备(三星)上尝试过,而且运行良好。所以也许有一些版本的Android,它不起作用,但我没有遇到它们。奈达你能阐明一下吗?你能解释为什么你认为它不起作用吗? – LarsH 2016-12-16 15:41:55

+2

版本3.17.0的文档。将'GROUP_CONCAT'放置在默认可用的[集合函数列表](https://www.sqlite.org/lang_aggfunc.html)中。当时可能情况并非如此。 – 2017-03-04 17:59:53