jquery - 如何将查询结果合并为新列?

标签 jquery mysql sql

我有一个表,其中包含 200 个不同的传感器和相应的传感器值。我想创建一个查询,其中不同的传感器值位于不同的列中。

我已经尝试过 join 和 union 但它没有按预期给出。

从测量值中选择*;//简化

<小时/>

| sensorId | Value |

| 6 | 110 |

| 6 | 120 |

| 6 | 180 |

| 8 | 250 |

| 8 | 280 |

| 8 | 290 |

<小时/>

目标


| sensor6 | sensor8|

| 110 | 250 |

| 120 | 280 |

| 180 | 290 |


PS:传感器的行始终相等。表中还有时间戳列。我认为放在这里是无关紧要的。

最佳答案

您可以根据时间戳加入。假设您的传感器每小时保存一次测量值。你可以

SELECT 
    DATE_FORMAT(sensor6.timestamp, '%Y-%m-%d-%H'), 
    sensor6.value as sensor6, 
    sensor8.value as sensor8
FROM
    sensorMeasures sensor6
JOIN
    sensorMeasures sensor8 ON 
        DATE_FORMAT(sensor6.timestamp, '%Y-%m-%d-%H') = 
        DATE_FORMAT(sensor8.timestamp, '%Y-%m-%d-%H')
WHERE 
    sensor6.sensorId = 6
    AND sensor8.sensorId = 8

通过加入时间戳,您将获得一个行表,其中包含同一日期/时间的所有传感器数据对。 两个 where 子句只是选择正确的行(其中第一个传感器数据来自第 6 个传感器,第二个传感器数据来自第 8 个传感器)。

当然,您可以更改 DATE_FORMAT 格式以匹配数据在该数据库中存储的频率。

关于jquery - 如何将查询结果合并为新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57210526/

相关文章:

javascript - 与输入控件关联的 Bootstrap 按钮不起作用

php - 错误: Strict Standards: Only variables should be passed by reference? [duplicate]

c# - 提高 SQLite 性能

sql - 我可以使用索引优化包含 WHERE Value <> 2 的请求吗

javascript - 使用过滤功能清除队列?

javascript - JS/JQuery : Detect when child element is added to parent

javascript - jquery attr ("onClick") - 即和 ff

mysql - 查询多行中大于0的总字段数

mysql - 从两个表中选择数据

使用 % 和 LIKE 在 Rails 中进行 SQL 查询