如果有人熟悉Blazer / sql,我真的需要您的帮助:
我正在尝试在Blazer => https://blazer.dokkuapp.com/queries/5-line-chart-format-2中创建折线图
我想绘制qikpac_id和reading_values.value
但是在需要过滤读取类型的时候,什么是"soc“@
WHERE reading_types.value = 'soc'所以我最终得到了4列,我只想
Y轴作为reading_values.value
X作为reading_time
Qikpacs作为绘制值
目前为止的sql查询:
SELECT
-- ## comented ## date_trunc('minute', reading_time)::date AS minute,
reading_time,
reading_types.value as Reading_Type,
reading_values.value as Reading_Value,
qikpac_id as Qikpac
FROM reading_values
INNER JOIN reading_types
ON reading_values.reading_type_id = reading_types.id
JOIN battery_statuses
ON reading_values.battery_status_id = battery_statuses.id
JOIN battery_readings
ON reading_values.battery_reading_id = battery_readings.id
WHERE reading_types.value = 'soc'
ORDER BY 1 这让我明白了:
| reading_time | reading_type | reading_value | qikpac_id |
2021-05-30 09:10:33 +1000 soc 49 13
2021-05-30 09:16:33 +1000 soc 49 14
2021-05-30 09:24:33 +1000 soc 49 15
2021-05-30 09:35:33 +1000 soc 49 16
2021-05-30 09:48:33 +1000 soc 49 13
2021-05-30 09:55:33 +1000 soc 49 14
2021-05-30 10:06:33 +1000 soc 49 15
2021-05-30 10:19:33 +1000 soc 49 16 谢谢,我被卡住了。:)
发布于 2021-06-01 06:29:05
对于任何搜索Blazer的人来说,下面是答案:
您需要排序依据:3列-时间戳、字符串、数字
Blazer在顺序和类型上非常严格,否则你会像我一样一事无成。
-- 3 columns - timestamp, string, numeric
SELECT
date_trunc('minute', battery_readings.reading_time)::timestamp AS minute,
qikpacs.serial_number as Qikpac,
reading_values.value as Reading_Value
FROM reading_values
INNER JOIN reading_types
ON reading_values.reading_type_id = reading_types.id
JOIN battery_statuses
ON reading_values.battery_status_id = battery_statuses.id
JOIN battery_readings
ON reading_values.battery_reading_id = battery_readings.id
JOIN qikpacs
ON battery_readings.qikpac_id = qikpacs.id
WHERE reading_types.value = 'soc'
AND ( qikpacs.serial_number = 'QP016' )
GROUP BY battery_readings.reading_time, qikpacs.serial_number, reading_values.value
ORDER BY battery_readings.reading_time, qikpacs.serial_number, reading_values.valuehttps://stackoverflow.com/questions/67768073
复制相似问题