次のデータベースがあります
| ID | numbers |
|--------|------------|
| 1 | 1,2,3 |
| 2 | 4,5,6 |
| 3 | 2,3,4 |
特定の数値を保持するすべての行を取得するnumbers
のは簡単です。
SELECT * FROM mydb WHERE FIND_IN_SET(3, numbers)
これは行1と3を返します
しかし今、私は配列/数値のセットを渡したいと思っており、少なくとも1つの数値が で発生するすべてのエントリを取得したいnumbers
、つまり、両方のセットの交差が空ではないようなもの:
SELECT * FROM mydb WHERE SET_INTERSECT('2,4', numbers)!=NULL
すべての行が 2 および/または 4 を保持するため、これはすべての行を返す必要があります。
上記は機能しません。これはmysqlで可能ですか?
ありがとう!