首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >db查询错误: pq:列"systemevents.receivedat“必须出现在GROUP子句中或在聚合函数中使用

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

Database Administration用户
提问于 2021-08-31 08:20:19
回答 1查看 83关注 0票数 -1

当运行以下查询时,我会收到一个错误:

代码语言:javascript
运行
复制
SELECT
  $__timeGroupAlias(receivedat,$__interval),
  SUBSTRING(message, '(?:[0-9]{1,3}\.){3}[0-9]{1,3}') AS the_address,
  COUNT (message) AS ip 
FROM systemevents 
WHERE
  $__timeFilter(receivedat)
GROUP BY the_address
ORDER BY ip DESC 
LIMIT 10

误差

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

如何避免此错误?

我正在使用Grafana和PostgreSQL 10。

EN

回答 1

Database Administration用户

发布于 2021-09-01 10:40:41

当使用"group“时,您选择的每一列都必须在聚合函数中使用或包含在"group”子句中。

请考虑以下查询:

代码语言:javascript
运行
复制
select   a, b, c
from ... 
group by a, b 

有可能,a和b的每个组合都有多个c值。您的查询应该返回哪一个?

数据库也不知道,所以抛出了这个错误。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/298803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档