我有两个名为Purchase和PurchaseOrder的表,每个表都有以下字段:
Purchase
---------
id
date_shipped
id_po -> FK of Purchase Order
PurchaseOrder
---------
id
date_po
我需要根据PurchaseOrder
的{{1}}年对它们进行分组。到目前为止,我一直在使用date_po
表的date_shipped
字段,并带有以下查询:
Purchase
现在,我需要加入这两个表,并在select extract(year from date_shipped), count(*) from purchase
group by(extract(year from date_shipped));
的{{1}}年而不是PurchaseOrder
的{{1}}字段中对它们进行分组。我尝试了各种查询,但无法完成结果。我试过的一个问题是:
date_po
任何帮助将不胜感激!
答案 0 :(得分:1)
如果您有group by
子句,则只能使用其中的术语(或应用了行函数)和选择列表中的聚合术语:
SELECT EXTRACT(YEAR FROM po.date_po), COUNT(*)
FROM purchase p
INNER JOIN purchase_order po ON p.id_po = po.id
GROUP BY EXTRACT(YEAR FROM po.date_po)