我有一个包含数据行的表,并且需要为列的所有行创建一个逗号分隔的字符串。是否可以仅使用SQLite中的SELECT语句来实现,还是必须将数据放入Cursor并通过对其进行迭代来构建字符串?

例如:

UserId
1df4181d-6c52-4aa3-926f-2dacb0a68c70
1df4181d-6c52-4aa3-926f-2dacb0a68c71
1df4181d-6c52-4aa3-926f-2dacb0a68c72
1df4181d-6c52-4aa3-926f-2dacb0a68c73
1df4181d-6c52-4aa3-926f-2dacb0a68c74
1df4181d-6c52-4aa3-926f-2dacb0a68c75

进入
1df4181d-6c52-4aa3-926f-2dacb0a68c70,1df4181d-6c52-4aa3-926f-2dacb0a68c71,1df4181d-6c52-4aa3-926f-2dacb0a68c72,1df4181d-6c52-4aa3-926f-2dacb0a68c73,1df4181d-6c52-4aa3-926f-2dacb0a68c74,1df4181d-6c52-4aa3-926f-2dacb0a68c75

任何建议将不胜感激。

最佳答案

您可以使用 GROUP_CONCAT() :

select group_concat(yourColumn, ',')
from yourtable

参见SQL Fiddle with Demo

10-07 19:35