我使用以下查询在 Grafana 中创建时间序列图
SELECT
$__timeGroup(DischargeDate, ‘1M’) as time,
AVG(Los) AS Average_LOS
FROM
$hospital_table.ca_prediction_stats AS stats
WHERE
$__timeFilter(DischargeDate)
GROUP BY
1
ORDER BY
1;
__timeGroup 函数似乎以一种不寻常的方式进行分组。例如,当我将鼠标悬停在数据集中的第一个数据点时,它显示“2022-10-19 19:00:00”,第二个点显示“2022-11-17 18:00:00”,第三个点显示“2022” -12-16 18:00:00”等。理想情况下,这些点将与该月的第一天相关联,并包括 DischargeDate 位于特定 YYYY-MM 范围内的所有行中的 Average_LOS。
仅供参考,表中 DischargeDate 的最早值为“2022-11-01 00:10:00”,不知道为什么第一点显示 2022-10-19 19:00:00。
您可以使用DATE_FORMAT:
SELECT
DATE_FORMAT(DischargeDate, '%Y-%m-01') AS time,
AVG(Los) AS Average_LOS
FROM
$hospital_table.ca_prediction_stats AS stats
WHERE
$__timeFilter(DischargeDate)
GROUP BY 1
ORDER BY 1;