【发布时间】:2020-07-21 23:36:22
【问题描述】:
非常简单的情况 - 我无法正确计算下表的月数 - 预期数字是 2,而不是 3 - 有趣的是,“valueagg”在相同条件下正确计算!
INSERT INTO ForgeRock
([productName], [description], [month], [value] )
VALUES
('OpenIDM', 'Y',1,33.2),
('OpenIDM', 'Y',2, 12.1),
('OpenIDM', 'Y',3, 1.1)
;
测试
SELECT
productName,
description,
sum(CASE WHEN [MONTH] between 1 and 2 then [VALUE] else 0 end) valueagg --works
,count(CASE WHEN [MONTH] between 1 and 2 then [MONTH] else 0 end) month_count --doesn't work
,count(CASE WHEN [MONTH] between 1 and 2 then 1 else 0 end) month_count2 --doesn't work
FROM
ForgeRock
group by productName,
description
结果
| productName | description | valueagg | month_count | month_count2 |
|-------------|-------------|--------------------|-------------|--------------|
| OpenIDM | Y | 45.300000000000004 | 3 | 3 |
【问题讨论】: