Postgresql PSQL:聚合函数(总和)不工作
我有这个查询(Postgresql PSQL:聚合函数(总和)不工作,postgresql,aggregate-functions,psql,Postgresql,Aggregate Functions,Psql,我有这个查询(artist\u money属于money类型,例如$30456.11): 发生什么事了?根据,SUM如果是MONEY类型,则应采用参数 非常感谢 问题在于逗号,而不是货币类型。也许你打算: SELECT SUM(CASE WHEN end_date - date '2015-12-3' <= 28 AND end_date - date '2015-12-03' > 0 THEN artist_money END)
artist\u money
属于money
类型,例如$30456.11
):
发生什么事了?根据,SUM
如果是MONEY
类型,则应采用参数
非常感谢 问题在于逗号,而不是货币类型。也许你打算:
SELECT SUM(CASE WHEN end_date - date '2015-12-3' <= 28 AND end_date - date '2015-12-03' > 0
THEN artist_money
END),
SUM(CASE WHEN date '2015-12-3' - start_date > 28
THEN artist_money
END
) AS "gonorar"
FROM peacecard
WHERE artist_id = 12345 AND contract IS NOT NULL;
问题在于逗号,而不是货币类型。也许你打算:
SELECT SUM(CASE WHEN end_date - date '2015-12-3' <= 28 AND end_date - date '2015-12-03' > 0
THEN artist_money
END),
SUM(CASE WHEN date '2015-12-3' - start_date > 28
THEN artist_money
END
) AS "gonorar"
FROM peacecard
WHERE artist_id = 12345 AND contract IS NOT NULL;
您试图将两个参数传递给聚合1参数函数 您试图将两个参数传递给聚合1参数函数 它必须是
sum(money)
,而不是sum(money,money)
。谢谢。它必须是sum(money)
,而不是sum(money,money)
。谢谢
SELECT SUM(CASE WHEN end_date - date '2015-12-3' <= 28 AND end_date - date '2015-12-03' > 0
THEN artist_money
END),
SUM(CASE WHEN date '2015-12-3' - start_date > 28
THEN artist_money
END
) AS "gonorar"
FROM peacecard
WHERE artist_id = 12345 AND contract IS NOT NULL;
SELECT SUM(CASE WHEN end_date - date '2015-12-3' <= 28 AND end_date - date '2015-12-03' > 0
THEN artist_money
WHEN date '2015-12-3' - start_date > 28
THEN artist_money
END
) AS "gonorar"
FROM peacecard
WHERE artist_id = 12345 AND contract IS NOT NULL;