如何转置 SQLite 中的表?

2023-11-25

你好,我在 SQlite 中有一个这样的表:

   User    |  Group  |   Role    
John Smith |   A     |   admin
John Smith |   B     |   user
Jane Doe   |   A     |   user
Jane Doe   |   B     |   limit
Jane Doe   |   C     |   admin
Jack Brown |   A     |   admin, user

我想调换表格,这样就只有一个user每行。列标题是"Group"。 “组”的值将是以下值"Role"第一个表中的列。

所以,转换后它看起来像这样:

   User    |    A        |    B       |  C 
John Smith |   admin     |    user    |
Jane Doe   |   user      |    limit   | admin
Jack Brown |   admin,user|            |

如何去做这个 SQLite 呢?


@CPerkins 提供的优秀解决方案存在丢失信息的潜在缺点。例如,考虑一下如果“Jack Brown”的数据呈现在两行中会发生什么:

Jack Brown |   A     |   admin
Jack Brown |   A     |   user

为了确保没有信息丢失,可以使用 GROUP_CONCAT 而不是 MAX:

SELECT User, 
       GROUP_CONCAT(CASE WHEN "group" == 'A' THEN role END) as A,
       GROUP_CONCAT(CASE WHEN "group" == 'B' THEN role END) as B,
       GROUP_CONCAT(CASE WHEN "group" == 'C' THEN role END) as C
FROM SO52961250 t
GROUP BY User;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何转置 SQLite 中的表? 的相关文章

  • 从 Core Data、iOS 获取最后插入的项目

    有没有办法获取核心数据数据库中最后插入的项目 这将返回最后插入的对象 setFetchLimit 1 和 setFetchOffset 所有条目数 1
  • 如果执行没有事务的删除语句,是否会删除部分内容?

    如果表myTable包含100000000条记录 我执行DELETE FROM myTable 没有开始交易并且出现问题 例如服务器电源故障 会删除一些记录吗 否 如果数据库引擎符合ACID http en wikipedia org wi
  • 在 Postgres 中的数组字段上应用聚合函数?

    是否可以对整数 字段 或其他数字数组 中的所有值应用聚合 如 avg stddev CREATE TABLE widget measurement integer insert into widget measurement values
  • 如何通过循环变量在 dbt 中多次运行 SQL 模型?

    我有一个 dbt 模型 测试模型 接受地理变量 zip state region 在配置中 我想通过循环变量来运行模型三次 每次使用不同的变量运行它 问题是 我有一个如下所示的宏 它将变量附加到输出表名称的末尾 即运行测试模型 with z
  • ormlite 将日期读取为 'yyyy-MM-dd'

    我需要读取给我的 sqlite 数据库 因此我无法更改表中的日期格式 yyyy MM dd 当我尝试使用 ormlite 为我生成对象时 使用以下注释 DatabaseField columnName REVISION DATE dataT
  • 如何在动态查询中将行值连接到列名

    我正在开发一个允许配置问题和答案的应用程序 目前最多可以有 20 个答案 但也可能更少 我的结构如下 问题 ID FormId QuestionText AnswerField 1 1 Name Answer01 2 1 Address A
  • T-sql、刻度、时间戳

    是否有可能在 t sql 中获得像 DateTime Ticks 这样的 C 内容 感谢帮助 您不太可能从 SQL 中获得与 DateTime Ticks 相同的精度 因为 SQL 不能以那么高的精度表达时间 SQL Server 只存储大
  • 与 FOREIGN KEY 约束冲突

    我有两张桌子 学术界 CREATE TABLE dbo R ACADEMIE ID ACADEMIE dbo IDENTIFIANT NOT NULL LC ACADEMIE CODE dbo LIBELLE COURT NOT NULL
  • 这是过滤数据并防止 SQL 注入和其他攻击的安全方法吗?

    我创建了两个简单的函数来在插入数据进入 mysql 查询之前对其进行过滤 对于表单字段 我还使用正则表达式来单独检查每个字段 Form filter function filter var HTML is not allowed var s
  • ORA-01749: 您不能向自己授予/撤销权限

    我正在运行以下查询RATOR MONITORING授予引用权限的架构RATOR MONITORING CONFIGURATION SMSC GATEWAY表到RATOR MONITORING schema GRANT REFERENCES
  • cv2.imdecode 始终返回 None

    我正在从存储 JPEG 图像的 sqlite BLOB 读取二进制数据 sqlite3 Binary 图像被写入数据库 img cv2 imread images image jpg c execute INSERT INTO pictur
  • 如何将整行(在 SQL 中,而不是 PL/SQL 中)传递给存储函数?

    我遇到以下 非常简单 问题 我想编写一个 Oracle SQL 查询 大致如下 SELECT count MyFunc MyTable FROM MyTable GROUP BY MyFunc MyTable 在 PL SQL 中 可以使用
  • 如何对 SQL Server Express 进行实时更改

    我一直在使用 VS studio 开发一个 ASP NET Web 应用程序 我正在使用 SQL Server Express 在开发过程中 我一直在我的服务器上测试我的网络应用程序 每次我需要更新数据库时 我都会简单地删除旧数据库 位于我
  • ActiveRecord 嵌套 SELECT——我可以在没有手动 SQL 的情况下完成它吗?

    我有一张桌子 上面有 除其他外 一个名字和一个等级 我想返回所有唯一名称的集合 但对于返回的每个名称 我想选择排名最高的行 这很简单 有两个嵌套的 SELECT 语句 SELECT FROM SELECT FROM foo ORDER BY
  • 如何将现有的 SQLite3 数据库导入 Room?

    好吧 我在桌面上使用 SQLite3 创建了一个只需要读取的某些信息的数据库 我正在制作的应用程序不需要在此表中插入或删除信息 我在 Room 数据库层上做了相当多的谷歌搜索 所有文档都需要在构建应用程序时在 Room 中创建一个新的数据库
  • SQLite 条件 ORDER BY 中的 DESC

    我需要选择按以下逻辑排序的记录 但是当 DESC 处于条件中时 SQLite 会引发错误 ORDER BY CASE WHEN parentGUID IS NULL THEN datePosted DESC ELSE datePosted
  • MySQL 中的 group_concat 性能问题

    我添加了一个group concat到一个查询并杀死了性能 添加之前和之后的解释计划是相同的 所以我对如何优化它感到困惑 这是查询的简化版本 SELECT curRow curRow 1 AS row number docID docTyp
  • 如何下载Android应用程序的sqlite数据库?

    我在我的 Android 应用程序中使用 sqlite 数据库 我想将数据库下载到电脑上 谁能告诉我该怎么办 如果您的应用程序在模拟器中 您只需使用 DDMS 并打开 data data your package name database
  • 仅基于月份和年份的 SQL Server 日期比较

    我无法确定仅根据月份和年份比较 SQL 中的日期的最佳方法 我们根据日期进行计算 由于计费是按月进行的 因此该月的日期会造成更多障碍 例如 DECLARE date1 DATETIME CAST 6 15 2014 AS DATETIME
  • 尝试使用 sql 获取单行结果? [复制]

    这个问题在这里已经有答案了 我正在尝试显示所有员工 ID 我需要这样的结果 emp id 10 11 12 13 14 15 当尝试时 SELECT LISTAGG emp id WITHIN GROUP ORDER BY emp id A

随机推荐

  • 为什么 Safari 不接受 GZIP 压缩?

    我这里有一个相当大的 JavaScript 文件 我想将其嵌入到我的网站中 HTTP 服务器足够智能 可以在将文件传送到浏览器之前对其进行 GZIP 不过 我用 Google Chrome 和 Safari 进行了测试 在 Chrome 上
  • spring TransactionTemplate 和 SimpleJdbcTemplate 是线程安全的吗?

    我目前正在处理的代码中 有一个单例被许多线程使用 除了 TransactionTemplate 和 SimpleJdbcTemplate 的两个字段之外没有状态 这两个字段在单例的函数中用于访问数据库 这安全吗 还是我应该在需要时创建一个新
  • ./ 和 ~/ 之间的区别

    创建文件路径和 URL 时 我注意到很多时候路径以 or 以以下开头的文件路径有什么区别 and 它们各自的含义是什么 为了完整起见 Just path是一个名为的文件或目录path在当前目录中 path是一个名为的文件或目录path在当前
  • 如何更新 Rails 语言环境 YML 文件而不丢失注释和变量?

    我正在构建一个 Ruby 脚本来更改 config locales yml Rails 语言环境文件的内容 这些文件包含许多有用的注释和变量 通过加载 更新和转储它们 我丢失了这些注释和变量 如何以编程方式更新 YAML 文件 同时保留注释
  • 分支在 ?: 运算符?

    对于现代硬件上的典型现代编译器 运算符结果会产生影响指令管道的分支吗 换句话说 调用这两种情况以避免可能的分支 哪个更快 bool testVar someValue Used later purge white purge black 或
  • 如何隐藏 Html 日历面板中的年份部分?

    有没有办法隐藏年份部分 html 日历面板 只显示日历上的月份和日期部分 不幸的是 没有简单的答案 但是您可以使用替代方法 通过使用 JavaScript 强制用户仅输入月份和日期 var year new Date getFullYear
  • 按 ID 删除数百万行的最佳方法

    我需要从 PG 数据库中删除大约 200 万行 我有一个需要删除的 ID 列表 然而 我尝试做到这一点的任何方法都需要几天的时间 我尝试将它们放入表中并以 100 为一批进行操作 4 天后 该操作仍在运行 仅删除了 2972 68 行 我必
  • 带有数字和默认键盘的 UITextField

    为 邮政编码 邮政编码 字段创建了一个 UITextField 其键盘类型为 UIKeyboardTypeDefault 我想使用默认键盘 但希望默认显示数字和符号与字母相对应 当您在 Contacts app 中输入地址时 Apple 会
  • 使用 crontab 运行脚本时无法导入 Python MySQL 模块

    我正在使用 crontab 运行需要 MySQLdb 模块的 python 脚本 当我从命令行运行此脚本时 一切正常 但是 尝试使用 crontab 运行它会引发此错误 Traceback most recent call last Fil
  • Apple 的文本渲染如何绘制字体没有的字形?

    我对字体和编码有了基本的了解 但最近我不得不在我的舒适区之外做一些事情 转动字符 0x2716 重乘 x 变为CGPathRef 我使用了核心文本CTFontGetGlyphsForCharacters来完成这项工作 我明白 一个CGGly
  • 无法将不可变值作为 inout 参数传递:文字不可变,为什么?

    我想做一个函数来交换两个变量 但对于新的 swift 我不能使用 var import UIKit func swapF inout a Int inout with b Int print x a and y b a b b a prin
  • 如何在 Symfony 2 中通过伪造登录来测试 ACL 进行开发

    我正在开发基于 Symfony 2 的 Web 应用程序的一部分 与许多应用程序一样 需要身份验证和授权 我如何继续开发 通过传递或伪造登录来考虑 ACL 在文档中 login check身份验证和会话部分是否透明 我想我可能需要实现一个版
  • 用于调整窗口大小的自定义挂钩

    我正在创建一个自定义挂钩来捕获浏览器窗口大小 以便让我知道它是否是移动的 目前 我的问题是 React 告诉我它无法在 useEffect 挂钩中保留 screenSize 的变量值 我该如何解决这个问题 export default fu
  • 如何在 python 中进行 alpha 抠图

    如何在 python 中进行 alpha 抠图 更具体地说 如何提取图像的 alpha 通道 给定一个将像素标记为 100 前景 白色 100 背景 黑色 或未知 灰色 输入图像 输入三元图 使用库进行 alpha 抠图 这里有两个选项 都
  • WindowsFormsHost 是否适合用途(.net WPF 托管 WinForms)?

    GUI 驱动的应用程序需要托管一些基于 WinForms 的预构建组件 这些组件使用 GDI 和 DirectX 的组合提供高性能交互式视图 视图处理控制输入并显示自定义图形渲染 供应商在 WinForms 线束中对组件进行测试 商业应用程
  • 为什么返回 (h = key.hashCode()) ^ (h >>> 16) 而不是 key.hashcode ?

    我不认为这种方法可以避免碰撞 我认为如果key hashcode大于table length 就会发生冲突 更新 其实我指的是HashMap hash在 JDK 1 8 中 我对向下扩展高位的好处感到有点困惑 现在 我想在这个的帮助下我很清
  • 如何在本机反应中检测杀死应用程序中的应用程序?

    当应用程序被用户终止时 我想更改 API 的状态数据 我尝试过使用 componentWillUnmount 在应用程序关闭时更改数据 我还使用 AppState handleAppStateChange nextAppState gt i
  • 如何使用Jquery AJAX post传递多维数组?

    我一直在使用 Serialize 通过 Post 传递复选框表单数据 以获取可以容纳同一类别的多个项目的篮子 当我使用提交按钮发布它们时 它可以正常工作 可以在一个类别下传递和显示多个值 但是 当我使用 Jquery serialize 时
  • 错误:未找到:make

    我无法安装任何需要的软件包node gyp 错误消息是这样的 npm install node protobuf info trying registry request attempt 1 at 22 43 57 http GET htt
  • 如何转置 SQLite 中的表?

    你好 我在 SQlite 中有一个这样的表 User Group Role John Smith A admin John Smith B user Jane Doe A user Jane Doe B limit Jane Doe C a