複数の条件を満たす行を返すSQLクエリを用意する必要がありました。この記事では、私がしなければならなかったことと解決策について説明します: http://thenoyes.com/littlenoise/?p=58SQLで完全セット
基本的には、ビット操作を使用して、指定された文字列が見つかったかどうかを確認します。
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 |
+-------------+
私はそれをテストし、期待どおりに動作します。誰かがこの仕組みを説明することはできますか?
おかげで、
Amieの
私はあなたが参照している特定のコードスニペットをコピーして貼り付けて、そのサイトから貼り付けて、質問に貼り付けて「誰かがこの作品の仕組みを説明できるか」と尋ねます。 –
確かに..ありがとう提案。 – Grnbeagle