我在数据呈现方面遇到问题(Iconics Genesis 64 系统的报告工具)。 对于报告,我需要允许用户选择应报告的设备 ID 的日期、日期和多重选择(这些是温度测量值等)
问题是,数据库收集器具有不寻常的结构,因此数据存储如下:
ID DATE1 SAMLPLE1 DATE2 SAMPLE2 DATE3 SAMPLE3
有 36 个样本,直到它开始在新行中收集数据,我无权更改它。 所以基本上我需要以某种方式将所有 DATE 列和 SAMPLE 列连接在一起,以进行进一步分析。
我需要的是 1 行包含 36 个 DATE 和 SAMPLE 列,36 个行的 ID 位于第一列,DATE 和 SAMPLE 位于其旁边。
还没弄清楚如何做到这一点(我不太擅长数据库引擎)。有什么想法吗?
最佳答案
有几种方法可以解决这个问题。首先,如果您根本无法更改数据库,则可能必须在应用程序代码(PHP 或您正在使用的任何内容)中执行此操作。如果您经常需要它,我可能建议创建一个 View :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/