我有一个表以这种格式条件的总和T-SQL
COL1 COL2 COL3
A NULL 4
A NULL 4
A VAL1 4
A VAL2 4
A VAL3 4
B NULL 5
B VAL1 6
我需要带出的输出如下:
COL1 TOTAL VALID
A 20 12
B 11 6
我的问题是,我如何得到“VALID '列 - 只有col2不为null时,它才会执行col3的求和。
我能够正确使用SUM和group by子句来获得'TOTAL'字段。但是,如何计算“有效”列?
任何想法? 非常感谢!
有多种方式可以返回指定的结果集。这种方法的一大优点是性能;这只使用一次数据。这样可以避免相关子查询(对外部查询返回的每一行都会运行)的开销(请参阅SLak的答案)。它还避免了派生表的开销(即实现内联视图)和联接操作(如Chris Shain的答案中所示,它不能保证得到正确的结果)。 – spencer7593 2013-11-21 01:34:34