【问题标题】:sqlite combine column data based on countsqlite 根据计数组合列数据
【发布时间】:2013-06-12 00:33:07
【问题描述】:

我不确定这是否真的可以在我环顾四周的 sqlite 中完成。

这是我作为表格的一部分所拥有的(没有是 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 编程,所以我能够访问数据库并进行查询。

【问题讨论】:

标签: android sql sqlite count


【解决方案1】:

我很确定SQLite 支持GROUP_CONCAT

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

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

GROUP_CONCAT(col3, '/') col3

【讨论】:

  • 谢谢!你真的帮了我很多。我认为这会比这更难。
  • 不错,不知道有这个。
猜你喜欢
  • 2016-12-09
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 2022-08-11
  • 1970-01-01
  • 2015-06-13
  • 1970-01-01
  • 2020-11-27
相关资源
最近更新 更多