【发布时间】:2015-02-20 18:53:09
【问题描述】:
我很难从 12 月开始抓取行(从上个月第 3 个月开始)。我正在尝试计算特定时间段内售出的产品数量。这是我当前的查询:
SELECT
a.id,
a.default_code,
(
SELECT SUM(product_uom_qty)
AS
"Total Sold"
FROM
sale_order_line c
WHERE
c.product_id = a.id
),
(
SELECT SUM(product_uom_qty)
AS
"Month 3"
FROM sale_order_line c
WHERE
c.product_id = a.id
AND
MONTH(c.create_date) = MONTH(CURRENT_DATE - INTERVAL '3 Months')
AND
YEAR(c.create_date) = YEAR(CURRENT_DATE - INTERVAL '3 Months')
)
FROM
product_product a
这就是数据库的样子:
sale_order_line
product_id product_uom_qty create_date
33 230 2014-07-01 16:47:45.294313
product_product
id default_code
33 WHDXEB33
这是我收到的错误:
ERROR: function month(timestamp without time zone) does not exist LINE 21: MONTH(c.create_date) = MONTH(CURRENT_DATE - INTERVAL
任何帮助指出我正确的方向?
【问题讨论】:
-
您的查询有什么问题?
-
嗨伦纳特。抱歉,我已经添加了上面的错误。
标签: sql postgresql aggregate date-arithmetic aggregate-filter