【发布时间】:2018-01-08 19:22:57
【问题描述】:
我有一个小问题。我的问题是我有一个包含传感器数据的单列表。每三行代表一个新样本。我现在的目标是将每第三行转换为一个单独的列,如 3 x N 矩阵。我不知道我的 N 有多大。是否有可能用 SQL 做到这一点?
--价值观--
传感器样品A1
传感器样品A2
传感器样品A3
传感器样品B1
传感器样本B2
传感器样本B3
...
...
...
sensor_sampleN1
sensor_sampleN2
sensor_sampleN3
我想要这个。
--TARGET_TABLE--
样品A1 样品B1 样品C1 ... ... 样品N1
样品A2 样品B2 样品C2 ... ... 样品N2
sampleA3 sampleB3 sampleC3 ... ... sampleN3
更新:我以上面的数字 3 为例。我有 11 个传感器,每秒给我 11 个值。我的列是:sensor_data_id、axis、source、type、value 和 sample_id。
【问题讨论】:
-
只是为了解决这个问题:每个样本是否总是 3 个值? 3 列 N 行不是更有意义吗?
-
是的,每个样本总是 3 个值。在我的上下文中,我的神经网络需要这种表示来填充数据......
-
我不知道 ANSI SQL 能够进行这种转换。如果您有一个 ID 列(行号),那将很容易。但是依赖于您的数据库存储数据并在执行查询时读取数据的顺序?那是特定于数据库的。你有什么可用的工具?数据是以什么格式存储的?
-
我的表名为 sensor_data 并且有一个可用于访问行号的主键。数据的顺序很重要,不允许改变。我将 PostgresSQL 与 DBeaver 一起使用。
-
数据的命名方式是否可以按逻辑排序?示例:数据是否总是被命名为“
sensor_sampleA1, `sensor_sampleA2', etc”?您能否提供一个数据示例或您用于提取和排序该数据的查询?
标签: sql postgresql matrix dbeaver