You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按personne_id分组发票并聚合发票ID的SQL查询问题求助

解决ARRAY_AGG聚合发票ID分组错误的问题

你现在遇到的问题是因为GROUP BY子句里多写了factures.id——这会让每一条发票记录单独成为一个分组,所以ARRAY_AGG只能聚合当前这条记录的ID,自然得到的都是单个ID的结果。

要实现按personne_id分组、聚合该用户下所有发票ID的需求,只需要把GROUP BY里的factures.id去掉就行:

SELECT ARRAY_AGG("factures"."id"), "factures"."personne_id" 
FROM "factures" 
GROUP BY "factures"."personne_id" 
LIMIT 100;

如果想要聚合后的ID按照特定顺序排列(比如从大到小),还可以给ARRAY_AGG加上排序参数:

SELECT ARRAY_AGG("factures"."id" ORDER BY "factures"."id" DESC), "factures"."personne_id" 
FROM "factures" 
GROUP BY "factures"."personne_id" 
LIMIT 100;

这样执行后,personne_id为6的分组就能得到你期望的{16,15,14,11,10}和对应的6了。

内容的提问来源于stack exchange,提问作者anon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 22:22:56