我正在使用Grafana,需要将数据显示为来自同一列但具有2个不同的where子句的singlestat。
示例:
#standardSQL
SELECT
timestamp AS Time,
valueString AS Number
FROM `db`
WHERE
id = '1.1.0' AND
deviceId = '$deviceId'
ORDER BY 1
例如,第二个ID是 1.1.1 ,尽管查询完全相同。 由于以后无法合并数据,因此需要在sql查询中进行处理。
从上面的查询中,我得到一个像 1502392 的数字,从第二个查询中,我得到一个像 D 的索引。我想将其显示为“ 1502392-D” 。
答案 0 :(得分:0)
deviceId是否唯一?如果是这样,您可以尝试这样的事情;
with t1 as(
SELECT
timestamp AS Time,
valueString AS Number
FROM `db`
WHERE
id = '1.1.0' AND
deviceId = '$deviceId'
ORDER BY 1
),
t2 as
SELECT
timestamp AS Time,
valueString AS ind
FROM `db`
WHERE
id = '1.1.1' AND
deviceId = '$deviceId'
ORDER BY 1
)
select t1.Time,concat(t1.Number,t2.ind) from t1 join t2 on t1.deviceId=t2.deviceId and t1.Time=t2.Time