您好,所以我在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
我想对表进行转置,因此每行只有一个 用户。 列标题为 “ Group” 。“组”的值将是第一张表的 “角色” 列中的值。
因此,转换后的外观如下:
User | A | B | C
John Smith | admin | user |
Jane Doe | user | limit | admin
Jack Brown | admin,user| |
一个人如何去做这个SQLite?
您可以使用row_number()
&进行聚合:
select User,
max(case when seq = 1 then role end) as a,
max(case when seq = 2 then role end) as b,
max(case when seq = 3 then role end) as c
from (select t.*,
row_number() over (partition by User order by group) as seq
from table t
) t
group by User;
本文向大家介绍如何在Android sqlite中删除表?,包括了如何在Android sqlite中删除表?的使用技巧和注意事项,需要的朋友参考一下 在进入示例之前,我们应该知道android中的sqlite数据库是什么。SQLite是一个开放源代码SQL数据库,可将数据存储到设备上的文本文件中。Android内置了内置的SQLite数据库实现。SQLite支持所有关系数据库功能。为了访问该数据
问题内容: 我有以下ArrayList, 我想这样转换 我对这种方法感到困惑。任何提示将不胜感激。 谢谢。 问题答案: 这称为换位。以下代码片段可以满足您的需求: 也可以看看 维基百科/转置
问题内容: 在MySQL中,我会使用 但这会导致SQLite错误。SQLite的正确语法是什么? 问题答案: 在此之前,已经回答了这一问题:是否可以一次在SQLite数据库中插入多行? 要回答您对OMG Ponies的评论,请回答: 从3.7.11版本开始,SQLite确实支持多行插入。理查德·希普(Richard Hipp)评论:
多线程。在这种模式下,SQLite可以安全地由多个线程使用,前提是在两个或多个线程中不同时使用单个数据库连接。 序列化。在序列化模式下,SQLite可以安全地由多个线程使用,不受限制。
我将calendar.getTimeinMilliseconds()中的日期存储在SQLite DB中。我需要在SELECT语句中标记每个月的第一行,所以我只需要使用SQLite函数将时间以毫秒为单位转换为任何日期格式。我怎样才能避免这个?
我正在尝试导出一些SQLite表数据。我正在获取IOException:/TestFileExport0719a.csv:open失败:EROFS(只读文件系统) 更改后出现以下错误: File outFile=新文件(environment.getExternalStoragePublicDirectory(environment.directory_downloads),outFileName