python - SQLite将具有不同列值的多行合并到一个条目中
问题描述
我正在尝试使用 SQLite 将多行的列值合并到一个条目中:
ID date test Val1 Val2 Val3 val4 Val5 Val6
S1 2020/01/01 ECT 5 5 5 0 0 0
S2 2020/02/01 FCT 2 2 2 0 0 0
S1 2020/02/02 ECT 0 0 0 5 5 5
S2 2020/03/01 FCT 0 0 0 2 2 2
结果应该是:
ID test Val1 Val2 Val3 val4 Val5 Val6
S1 ECT 5 5 5 5 5 5
S2 FCT 2 2 2 2 2 2
我试过 group_concat 但我无法让它工作。我不想创建视图,而是想减少数据库中相同 ID 的不完整或“半完成”条目的数量。
另外,如果有帮助,我正在使用 python 将值存储在 SQLite DB 中。因此,如果有一种方法可以通过 python 来代替,那也很棒。欢迎任何帮助/评论
我对 SQL 很陌生,所以任何建议都将不胜感激!谢谢
解决方案
对于这个数据集,聚合做你想要的:
select id, test, max(val1) val1, max(val2) val2, max(val3) val3, max(val4) val4, max(val5) val5, max(val6) val6
from mytable
group by id, test
推荐阅读
- keras - 使用提前停止 - gridsearchcv - kerasregressor
- c# - C# JSON 西班牙语是 UTF8 但德语是 UTF7 加载
- javascript - 不知道我的 javascript 待办事项列表有什么问题
- kubernetes - 如何一次重启 1000 个 pod
- python - crontab root 命令与普通 root 命令的区别
- c++ - 编译器总是打印一个十六进制/八进制数
- java - 通用 java.time 属性的 Jackson 序列化不适用于 Android API 21(但适用于 29)
- c++ - 如何使用 QSortFilterProxyModel::sort 对 Qlist 中的数据进行排序
- c# - 如何使用 MySqlCommand 的参数获取查询
- node.js - AWS Lambda NodeJS 写入 S3 在本地和服务器上的行为不同