【问题标题】:Bitwise OR among results结果之间的按位或
【发布时间】:2011-11-09 16:08:32
【问题描述】:

我想知道是否可以在 MySQL 查询中进行按位或。我有一个类似的查询:

SELECT `value` FROM `table` WHERE `code`='4'

它返回一个值数组,但我想要一个具有所有值的 按位 OR 的唯一值。是否可以从 MySQL 或我应该委托给 PHP?

即上面的查询返回这个值列表:

value
-----
1
5
4
2
7
8

因此我想要这些值的 OR 1 | 5 | 4 | 2 | 7 | 8 = 15

【问题讨论】:

标签: mysql bitwise-or


【解决方案1】:
SELECT MAX(@r:=@r|value) FROM `table`, (SELECT @r:=0) x

Jim.H 的建议要好得多。谢谢!

SELECT BIT_OR(value) FROM `table`

【讨论】:

  • 聪明,但 eww。 SELECT bit_or(value) FROM table;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-28
  • 2013-05-14
  • 1970-01-01
相关资源
最近更新 更多