2011-11-09 2 views
1

MySQLクエリの中でビット単位のORを実行できるかどうかは疑問です。結果間のビットOR

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

それは、値の配列を返しますが、私はビットごとのORすべての値のユニークな値をしたい:私のようなクエリを持っています。 MySQLから可能ですか、私はPHPに委任すべきですか?

I.e.上記のクエリは、次の値リストを返します。

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

そして、これらの値の論理和を求めます。 5 | 4 | 2 | 7 | 8 = 15

+1

重複またはに似て:http://stackoverflow.com/questions/1397913/is-it-possible-to-perform-a-bitwise-group-function –

+0

SQLクエリは_not_リターン "アレイ" を行います。 –

答えて

6
SELECT MAX(@r:[email protected]|value) FROM `table`, (SELECT @r:=0) x 

Jim.Hの提案がはるかに優れています。ありがとう!

SELECT BIT_OR(value) FROM `table` 
+2

賢いですが、eww。 'SELECT bit_or(value)FROMテーブル;' –