【问题标题】:PostgreSQL agregation function with group by具有分组依据的 PostgreSQL 聚合函数
【发布时间】:2021-10-29 19:56:18
【问题描述】:

我尝试从 PostgreSQL 获取输出到 Grafana,但出现错误

db 查询错误:pq:列“systemevents.receivedat”必须出现在 GROUP BY 子句或在聚合函数中使用

这是代码

SELECT 
  $__timeGroupAlias(receivedat,$__interval),
  SUBSTRING(message, '(?:[0-9]{1,3}\.){3}[0-9]{1,3}') AS the_address,
  COUNT(message) as cc 
FROM systemevents 
WHERE
  $__timeFilter(receivedat,$__interval)
GROUP BY the_address 
ORDER BY cc DESC

如何解决这个问题?

【问题讨论】:

    标签: sql postgresql grafana


    【解决方案1】:

    将其添加到 GROUP,例如(1 指的是 SELECT 的第一列):

    SELECT 
      $__timeGroupAlias(receivedat,$__interval),
      SUBSTRING(message, '(?:[0-9]{1,3}\.){3}[0-9]{1,3}') AS the_address,
      COUNT(message) as cc 
    FROM systemevents 
    WHERE
      $__timeFilter(receivedat,$__interval)
    GROUP BY 1, the_address 
    ORDER BY cc DESC
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 2021-12-02
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      相关资源
      最近更新 更多