我是一个更高级的MySQL新手,想学习如何正确处理以下查询。
我有两个表:sensors和measurement_data
每个传感器行都有一个id,每个measurement_data行链接到其中一个传感器ID。
我需要做的是获取传感器
(SELECT id FROM sensors)
然后为每个传感器获取最后5个measurement_data行
(SELECT val FROM measurement_data WHERE sensor_id = sensor id ORDER BY timestamp DESC LIMIT 5)
结果应该类似于json:
{
"SENSOR01": [
"10","11","12","13","14"
],
"SENSOR02": [
"10","11","12","13","14"
]
}
我试着看看谷歌为我找到的一些例子,但它们都太复杂了,或者至少我没有得到它们。
我也试图根据文档使用子查询,但不明白如何做到这一点
有人可以帮助我找到正确的轨道吗?
干杯
答案 0 :(得分:0)
您可以使用以下查询获取所有值,但不确定如何将它们限制为5
SELECT sensors。*,GROUP_CONCAT(measurement.id SEPARATOR',')FROM sensors,measurement_data WHERE sensors.sensor_id = measurement.sensor_id group by sensor_id