如何从Grafana中的数据库中选择DISTINCT记录

时间:2019-01-23 12:17:11

标签: postgresql grafana

我正在使用Grafana,我想从数据库中选择DISTINCT记录。我该怎么办?

enter image description here

查询为:

SELECT reference AS "Reference", reference_url AS "Reference URL" FROM daily_run_vehicle WHERE retries >= 5 GROUP BY reference, reference_url ORDER BY 1;

但是当我尝试:

SELECT DISTINCT (reference) AS "Reference", reference_url AS "References" FROM daily_run_vehicle WHERE retries >= 5 GROUP BY reference, reference_url ORDER BY 1;

我得到相同的结果。

我在Grafana中使用的data sourcePostgres

更新

我得到的结果如下:

enter image description here

您看到第三和第四条记录具有相同的第一列(引用)。我不想要,我只想显示一个。

因此应该是:

enter image description here

1 个答案:

答案 0 :(得分:0)

您将获得4个结果,因为SELECT DISTINCT返回的行在所有选定字段中的值均不同。因此,由于第3行和第4行中referencereference_url的组合不同,因此它们仍然都在DISTINCT中返回。

要仅对要返回的字段的子集执行DISTINCT,请使用DISTINCT ON告诉它哪些字段用于检查唯一性,然后返回要返回的字段列表:

SELECT DISTINCT ON (reference) reference, reference_url
FROM daily_run_vehicle
WHERE retries >= 5
ORDER BY reference

我已将GROUP BY删除为DISTINCT ON,其顺序与GROUP BY 1 ORDER BY 1相同;但是,如果您确实要按两个字段分组,则需要一个DISTINCT ON (reference, reference_url),在这种情况下,您实际上要返回4条记录。