结果之间的按位OR

Iva*_*van 1 mysql bitwise-or

我想知道是否可以在MySQL查询中进行按位OR.我有一个查询:

SELECT `value` FROM `table` WHERE `code`='4'
Run Code Online (Sandbox Code Playgroud)

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

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

value
-----
1
5
4
2
7
8
Run Code Online (Sandbox Code Playgroud)

我希望结果是这些值1的OR 5 | 4 | 2 | 7 | 8 = 15

lqe*_*qez 6

SELECT MAX(@r:=@r|value) FROM `table`, (SELECT @r:=0) x
Run Code Online (Sandbox Code Playgroud)

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

SELECT BIT_OR(value) FROM `table`
Run Code Online (Sandbox Code Playgroud)

  • 聪明,但是eww.`SELECT bit_or(value)FROM table;` (2认同)