我的查询如下:
SELECT * FROM table WHERE id1 = id2 and id2 = id3 and id3 = id4 and id4 = id5
这有效,但如果有更多的ID,它会变得复杂。有没有办法缩短这个? 谢谢。
答案 0 :(得分:3)
SELECT * FROM table
WHERE (id1 | id2 | id3 | id4 | id5) = id1
AND (id1 & id2 & id3 & id4 & id5) = id1
|
是按位或
&
是按位和
^
是按位xor
另一种选择是:
SELECT * FROM table
WHERE ((id1 ^ id2) | (id3 ^ id4) | (id4 ^ id1) | (id5 & id1)) = 0
请参阅:http://dev.mysql.com/doc/refman/5.0/en/bit-functions.html