如果这似乎是一个“愚蠢”的问题,我深表歉意——我真的不知道描述我正在尝试做的事情的正确术语(因此寻求帮助有点徒劳)。
基本上,我最初有以下形式的数据:
| timestamp | category A | category B | .......| category n|
| 2011-12-02 00:05:00 | 23.63 | 27.00 | .......| 24.03 |
| 2011-12-02 00:10:00 | 23.75 | 24.42 | .......| 24.45 |
| 2011-12-02 00:15:00 | 23.31 | 23.96 | .......| 26.54 |
我将这些数据放入数据库中(并对其进行规范化),使其存在于数据库中,如下所示:
+---------------------+--------------+-------+
| timestamp | catergory_id | value |
+---------------------+--------------+-------+
| 2011-12-02 00:05:00 | 2 | 27.00 |
| 2011-12-02 00:10:00 | 2 | 24.42 |
| 2011-12-02 00:15:00 | 2 | 23.96 |
| 2011-12-02 00:20:00 | 2 | 23.73 |
| 2011-12-02 00:25:00 | 2 | 23.73 |
+---------------------+--------------+-------+
我正在尝试按时间戳选择不同的类别(以启用比较),如下所示:
+---------------------+-------+-------+
| timestamp | cat_a | cat_b |
+---------------------+-------+-------+
| 2011-12-02 00:05:00 | 23.63 | 27.00 |
| 2011-12-02 00:10:00 | 23.75 | 24.42 |
| 2011-12-02 00:15:00 | 23.31 | 23.96 |
| 2011-12-02 00:20:00 | 23.00 | 23.73 |
| 2011-12-02 00:25:00 | 22.91 | 23.73 |
+---------------------+-------+-------+
这基本上类似于原始数据结构(但我想在多个和变量之间进行选择/比较,而不仅仅是两个类别)。
我已经能够使用join
(在选择各个表中的各个类别之后)进行此操作。这可以说在两个类别之间进行比较,但似乎效率很低,特别是如果我想选择 15 或 20 个不同的类别进行比较。如果特定类别缺少数据点也是有问题的。
(我一直在这样做的另一种方法是选择单个表,然后在以后使用它的 python 应用程序中“合并”数据,但这似乎同样低效)
我觉得在 mysql 中必须有一种更简单或更直观的方法来执行此操作-我只是缺少一些非常基本的东西。我真的不想去规范化(因为有很多类别,除了这个之外,将其规范化以用于其他用途是有意义的)。
干杯,