我需要拿出一個SQL查詢返回滿足多個條件行。本文介紹我需要做的和解決方案: 組完整的SQL
基本上它使用了一點操作來找出是否找到提供的字符串..但我很難跟蹤它的工作原理。
SET @q = 'A,B';
SELECT studentName
FROM quizAnswers
GROUP BY studentName
HAVING
BIT_OR(1 << FIND_IN_SET(question, @q) - 1)
=
(1 << LENGTH(@q) - LENGTH(REPLACE(@q, ',', '')) + 1) - 1; -- This is 2^numValues - 1
+-------------+
| studentName |
+-------------+
| seekwill |
+-------------+
我測試了它,它按預期工作。有人可以解釋這是如何工作的?
感謝, 阿米
我建議你複製和粘貼代碼片段你指的是,關閉該網站的特定代碼,粘貼到你的問題,和短語爲「誰能解釋這是如何工作」 – 2009-05-27 19:56:56
沒問題..謝謝這個建議。 – Grnbeagle 2009-05-27 20:11:53