作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些行我必须汇总,放入 AND 位列。我让你看一个例子......我有一组这样的数据:
Id | BitValue
----------------
1 | 1
1 | 1
2 | 0
3 | 1
3 | 0
我希望得到的结果是:
Id | BitValue
----------------
1 | 1 <- = (1 AND 1)
2 | 0
3 | 0 <- = (1 AND 0)
如何聚合列以获得我想要的结果?
我试过这两种解决方案,但没有一个有效:
SUM(CAST(MyBitField AS INT)),
SUM(CASE(MyBitField) WHEN 1 THEN 1 ELSE 0 END)
谁能帮帮我?谢谢
最佳答案
如果该列中只有 1 和 0,请将 sum
与 count
进行比较:
select Id, case when sum(BitValue) < count(Id) then 0 else 1 end as BitValue
from mytable group by Id;
感谢@Larnu 的有用评论。我放了another sql fiddle反射(reflect)他的担忧。
关于sql-server - 模拟AND运算符的聚合位列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49800367/
我是一名优秀的程序员,十分优秀!