a | b | c | d | f |
---|---|---|---|---|
3 | 3 | 3 | 3 | 4 |
4 | 4 | 4 | 4 | 5 |
5 | 5 | 5 | 5 | 6 |
要求是这样的,求f列的和,如果f>5,那么求和时用d列的值
MySQL中可以用sum(case when)
但是sqlserver 不知道怎么实现,尝试了下
select
SUM(
CASE
WHEN f > 5 THEN isnull(d,0)
else
isnull(f,0)
END
) as b from T
实际中错误
将 expression 转换为数据类型 int 时出现算术溢出错误。
实际中条件列是时间戳,值列是另外2个int列.
怎么实现这个功能?
可能写法有一点问题.