我在数据显示方面有问题(Iconics Genesis 64系统的报告工具)。
对于报告,我需要允许用户选择应该报告的设备ID的日期,日期和多选(这些是温度测量值等)。
问题是,数据库收集器具有异常的结构,因此数据存储如下:
ID DATE1 SAMLPLE1 DATE2 SAMPLE2 DATE3 SAMPLE3
有36个样本,直到它开始在新行中收集数据为止,我无权对其进行更改。
因此,基本上我需要以某种方式将所有DATE列和SAMPLE列连接在一起,以进行进一步的分析。
我需要的是改为在1列中包含36个DATE和SAMPLE列,在第1列中包含ID的36个ROWS,并在其旁边放置DATE和SAMPLE。
还没有弄清楚该怎么做(我不太擅长数据库引擎)。有任何想法吗?
最佳答案
有两种解决方法。首先,如果您根本无法更改数据库,则可能必须在应用程序代码(PHP或您使用的任何程序)中执行此操作。如果您经常需要它,我建议创建一个视图:http://dev.mysql.com/doc/refman/5.0/en/create-view.html
无论如何,您都可以使用它来汇总它们:
(SELECT DATE1 as DT, SAMPLE1 as SAMPLE FROM table) UNION (SELECT DATE2 as DT, SAMPLE2 as SAMPLE from table) UNION ... UNION (SELECT DATE36 as DT, SAMPLE36 as SAMPLE)
关于mysql - 数据库,合并在许多列中收集的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20641523/