【发布时间】:2011-10-15 11:06:45
【问题描述】:
我需要在 PostgreSQL 中按天、周、月等创建销售报告。我有以下表格设置:
tbl_products:
id INT
name VARCHAR
tbl_purchase_order:
id INT
order_timestamp TIMESTAMP
tbl_purchase_order_items:
id INT
product_id INT (FK to tbl_products.id)
order_id (FK to tbl_purchase_order.id)
我需要创建一个 SQL 查询,该查询返回给定产品在给定时间范围内的购买次数。也就是说,我需要查询给定产品 ID 在特定月份、日期、年份等中出现在采购订单项目中的次数。在较早的问题中,我学习了如何使用 date_trunc() 将我的 TIMESTAMP 列截断为我关心的时间段。现在我面临如何正确执行 COUNT 和 GROUP BY 的问题。
我使用 COUNT(XXX) 和 GROUP BY XXX 的各种组合尝试了几个查询,但似乎从来没有想出我期望的结果。有人可以指导我如何构建此查询吗?我更像是一名 Java 开发人员,所以我仍在加快 SQL 查询的速度。感谢您提供的任何帮助。
【问题讨论】:
标签: sql postgresql count group-by