SQLite将列转换为逗号分隔的字符串

时间:2012-09-11 15:17:35

标签: android sqlite concatenation transpose delimited

我有一个包含数据行的表,需要为列的所有行创建逗号分隔的字符串。这可以只使用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

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:27)

您可以使用GROUP_CONCAT()

select group_concat(yourColumn, ',')
from yourtable

请参阅SQL Fiddle with Demo