Mar*_*ell 10 sql t-sql sql-server
作为复数聚合的一部分,我想知道一些数据的按位求和,即如果我有值为1,1,1,2,2,8的行,则按位求和为11.在这种情况下,这些值都是精确的幂两个(单个位),所以我可以通过对组进行分组和求和来破解它(显然这个例子与真实查询相比有点折磨):
select SUM(y.test)
from (
select x.test
from ( -- garbage test data
select 1 as [test]
union all select 1
union all select 1
union all select 2
union all select 2
union all select 8) x
group by x.test) y
Run Code Online (Sandbox Code Playgroud)
但有没有一种干净的方法来执行[T] SQL中的按位求和?
Kie*_*one 18
如果您的示例中的所有测试值都是单个位(1,2,8) - 只需SUM(DISTINCT col)在查询中使用即可.
希望有所帮助.
(供参考:http://msdn.microsoft.com/en-us/library/ms187810.aspx)
| 归档时间: |
|
| 查看次数: |
5246 次 |
| 最近记录: |