sqlite根据计数组合列数据

时间:2013-06-12 00:33:08

标签: android sql sqlite count

我不确定这是否真的可以在sqlite中进行,因为我环顾四周。

这是我作为表格的一部分(NONE是PK,FK或ID,只是常规文本数据):

    col1 col2 col3
    foo1 bar1 foobar1
    foo1 bar1 foobar2
    foo1 bar1 foobar3

我能够通过

选择foo1和bar1的计数
    SELECT col1, col2, COUNT(*)
    FROM table1
    GROUP BY col1
    HAVING COUNT(*) > 1;

找到重复的列,但我的最终目标是将第3列中的数据合并为一列,由斜杠(即foobar1 / foobar2 / foobar3)分隔,并删除除1个所选行之外的所有行,因此输出将为:

    col1 col2 col3
    foo1 bar1 foobar1/foobar2/foobar3

我觉得这很难在SQLite中完成,但也许有可能吗?如果没有,您将如何使用Java等常规编程语言?我正在进行Android编程,因此我可以访问数据库并进行查询。

1 个答案:

答案 0 :(得分:2)

我非常确定SQLite支持GROUP_CONCAT

SELECT col1, col2, GROUP_CONCAT(col3) col3
FROM table1
GROUP BY col1, col2

如果您需要将分隔符从“,”更改为“/”,请使用:

GROUP_CONCAT(col3, '/') col3