Postgresql 栏「;“由”创建;必须出现在GROUP BY子句中或在聚合函数中使用
请帮助解决此查询Postgresql 栏「;“由”创建;必须出现在GROUP BY子句中或在聚合函数中使用,postgresql,group-by,left-join,Postgresql,Group By,Left Join,请帮助解决此查询 select ard.rule_name,ard.created_by,ard.modified_by,ard.desc,ard.audit,ard.active,ard.raw_json,json_object_agg(asm.name, (asm.description, asm.keys)) as event_class_details , ard.error,ard.advanced,ard.rule_string,ard.remediation,ard.auto_as
select ard.rule_name,ard.created_by,ard.modified_by,ard.desc,ard.audit,ard.active,ard.raw_json,json_object_agg(asm.name, (asm.description, asm.keys)) as event_class_details , ard.error,ard.advanced,ard.rule_string,ard.remediation,ard.auto_assign,ard.auto_assign_to,ard.test_rule,ard.severity,ard.time_occurrence,ard.created_on,ard.modified_on, ard.source_ids from alert_rule_definition as ard left join alert_source_mapping as asm on ( (ard.advanced = True and asm.source_id = ANY(ard.source_ids)) or (asm.source_id = ard.source_id)) where ard.rule_name in ('win_user_created_by_otherthan_admin_windows_servers_3') group by ard.rule_name;
它在执行时给出以下错误
column "ard.created_by" must appear in the GROUP BY clause or be used in an aggregate function
您需要添加聚合函数中未使用的每一列 在查询中,除了asm.name、asm.description和asm.keys。 其余列应显示在GROUPBY子句中 请尝试以下方法:
select ard.rule_name, ard.created_by, ard.modified_by, ard.desc,
ard.audit,ard.active,ard.raw_json,
json_object_agg(asm.name, (asm.description, asm.keys)) as event_class_details,
ard.error, ard.advanced, ard.rule_string, ard.remediation,
ard.auto_assign, ard.auto_assign_to, ard.test_rule, ard.severity,
ard.time_occurrence, ard.created_on, ard.modified_on,
ard.source_ids
from alert_rule_definition as ard
left join alert_source_mapping as asm on ((ard.advanced = True and asm.source_id = ANY(ard.source_ids)) or (asm.source_id = ard.source_id))
where ard.rule_name in ('win_user_created_by_otherthan_admin_windows_servers_3')
group by ard.rule_name, ard.created_by, ard.modified_by, ard.desc, ard.audit, ard.active, ard.raw_json, ard.error, ard.advanced, ard.rule_string, ard.remediation, ard.auto_assign, ard.auto_assign_to, ard.test_rule, ard.severity, ard.time_occurrence, ard.created_on, ard.modified_on, ard.source_ids
你好。这是一个常见问题。请总是用谷歌搜索你的问题/问题/目标的许多清晰、简洁和具体的版本/措辞,有或没有你的特定字符串/名称,并阅读许多答案。将发现的相关关键字添加到搜索中。如果你找不到答案,那么发布,使用一种变体搜索你的标题和标签的关键字。可能重复