繁体   English   中英

SQLite-group_concat成列?

Sqlite - group_concat into columns?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

是否可以执行类似于group_concat的操作,而不仅仅是将值组合成1个逗号分隔的字符串,而是将它们扩展到表的多个列中? 最初,我计划对值进行group_concat,然后对字符串进行拆分以将值移动到所需的列中,但是显然SQLite中没有拆分选项,而且我仅限于直接在SQLite中执行此操作(没有其他DB或脚本选项可用)。

生成下表需要生成的报告。

 Item | Owner | System ---------------------- A | Bob | Sys1 B | Bob | Sys1 B | Sue | Sys1 B | Bob | Sys2 C | Bob | Sys3 C | Sue | Sys3 C | Jane | Sys3 

我需要将其动态连接/旋转为这种格式。

 Item | Owner 1 | Owner 2 | Owner 3 | Owner 4 | Owner 5 | System ---------------------------------------------------------------- A | Bob | | | | | Sys1 B | Bob | Sue | | | | Sys1 B | Bob | | | | | Sys2 C | Bob | Sue | Jane | | | Sys3 

就“所有者”列而言,从技术上讲,每个项目最多不能超过5个所有者,即使超过5个,只要显示至少5个,我都不在乎显示其他所有者向上(此场景中的5个也无关紧要)。

表格中“项目”的数量是无限的,并且大约有20个系统(尽管系统数量会发生变化)

仅使用SQlite可以吗?

1 个回复

您需要在表中具有自动增量ID才能实现此目的

SQLLite没有row_number分析功能,没有pivot关键字

在这里,我们使用相关的子查询并根据此选择为每个项System生成5个所有者,从而生成row_number。

select Item,System,
       max( case when rn =1 then Owner end ) as Owner1,
       max( case when rn =2 then Owner end ) as Owner2,
       max( case when rn =3 then Owner end ) as Owner3,
       max( case when rn =4 then Owner end ) as Owner4,
       max( case when rn =5 then Owner end ) as Owner5
from (
select Item, System, Owner,
       (select count(*) from Table1 b  where a.Item = b.Item and a.System = b.System
                                                          and a.id >= b.id) as rn
from Table1 a) T
group by Item,System
1 SQLite:group_concat()多列

我有一个问题: 在我的SQLite(android上的sqlite3)数据库中,我有一个像这样的表 而且我想去 到目前为止我得到的是 这给了我一个字符串 虽然这已经很好了,但它仍然不是我想要的。 在那一点上,我无法理解我如何将事物结合起来以获得我想要的东西 ...

2012-03-21 01:16:00 1 9477   sqlite
2 MySQL:一列/多行 group_concat 成多列,填充另一列的值

我已经看到许多关于 group_concat 一列/多行到多列的答案,但我找不到如何用第二列的数据填充新列。 我的数据表如下所示: 这是我想要的结果: 这是我得到的结果: 第 2 行不应在同一列中包含“3,4”。 第 3 行也不应该在同一列中包含“5,6,7”。 我不知道如何让 gro ...

3 SQLite中的GROUP_CONCAT

我有这样的数据 通过使用此查询 现在,我想显示这样的数据 等等。我也知道它可以通过GROUP_CONCAT函数实现。 所以,我尝试了这个 但是,它显示了我的错误。 那么,我在这里做错了什么。 实现这一目标的正确程序是什么? ...

4 Group_concat与添加的列

我有一个查询,可以正常工作: 我想要的(可能太基础了)是在结果查询中有一个新列,例如NEW COLUMN A,其连接值是period + room +'final'。 但是我一直在例外。 不知道真正的原因。 我在想什么... 谢谢。 ...

5 如何group_concat两列

我有一张有两列的表parent_string和子字符串,像这样 如果我想在(1,2,3)中选择id 我想要输出concat字符串,如下所示: 这个怎么做? ...

2018-01-02 07:03:02 1 131   mysql
6 GROUP_CONCAT 同列不同条件

我试图找出一个查询来从我的表中返回一个逗号分隔的字符串。 我只使用一列作为参考,但我有 2 个条件,我不确定如何启动查询来执行我想要的操作。 我的身份 group_id 1 1 2 ...

2021-05-26 15:50:05 1 34   mysql
7 SQLite-Java:Group_concat-分离

我使用group_concat对一对多关系执行联接。 我基本上是在加入文件名或用户输入的字符串。 我问自己最好的分隔线是什么。 我认为如果使用默认值,则当存储在数据库中的用户输入本身具有,时,这可能会出现问题。 是否有我可以用来分割字符串的最佳实践char? 真正独特的东西,因 ...

8 我如何用旧的SQLite模仿group_concat()?

我正在使用SQLite 3.6.20,它似乎不支持group_concat,并且我使用的托管公司坚持不升级许多系统,因此我正在寻找模仿行为的东西。 我的表设置和测试数据如下: 我的最终结果是选择一个配方的名称,产量,描述和配料,配料是并列结果的列表,例如[Ingredients] ...

10 使用 group_concat 作为 select 语句中的列的 sqlite 子查询

我有两个表,一个包含一个名为watch_list的项目列表,其中包含一些重要属性,另一个只是一个名为price_history的价格列表。 我想这样做的是组合在一起的价格最低的10与一个GROUP_CONCAT操作一列,然后创建一个行与项目从属性watch_list与10种最低的价格为每个项目一起w ...

2010-10-23 06:19:33 1 3299   sqlite
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM