我在PostgreSQL数据库中有一个大型数据表来自一项研究,其中一些测试对象执行了许多任务,并且有几个传感器在执行这些任务时收集了数据。我需要为每个主题创建一个只有一行的表,以及与每个任务的传感器测量值对应的列。我想要实现的一个简化示例:
一些关键问题:
中执行两次和会后。因此,我需要的列数是37x24x2=1776
列数据!
我可以为每个任务创建一个新视图,然后在主题列上执行外部联接,但这仍然需要为所有24个任务手动创建单独的视图并为所有1776列指定名称。
如何构建自动创建必要列的查询?
答案 0 :(得分:1)
我认为你有一些特别的问题:
我怀疑tablefunc的交叉表函数会有很多帮助(或者可能被黑客攻击,如果有必要,可以执行您想要的操作,因为它被编写为C语言表值函数的示例)。但是,您仍然需要在查询外生成交叉表条件并运行它。
这导致了两个选项:
我怀疑在大多数情况下,第一种情况更好。
答案 1 :(得分:1)
您可以增加postgresql列数。以下链接的信息:
另外,json类型列可能是大型列集的一个很好的替代方案。
答案 2 :(得分:0)
Postgresql有很好的文档,请查看网站上的postgresql帮助或下载pdf文档。
https://www.postgresql.org/docs/current/static/datatype-json.html