ここでの問題は、l
の存在をチェックしていることです。 2回。これは...「l
が含まれています 。はい、まだl
が含まれています 。"2つをチェックしていません。別の方法があります...
SELECT word FROM us_6 WHERE
word REGEXP 'v' AND
word REGEXP 'l.*l' AND
word REGEXP 'e' AND
word REGEXP 'o' AND
word REGEXP 'y'
これは、v
を含むすべての単語と一致する必要があります 、2つのl
、e
、o
、およびy
。
したがって、同じ文字が1つおきに出現する場合は、クエリに別の。*文字を追加するだけです。たとえば、lullaby
次のクエリが必要です:
SELECT word FROM us_7 WHERE
word REGEXP 'l.*l.*l' AND
word REGEXP 'u' AND
word REGEXP 'a' AND
word REGEXP 'b' AND
word REGEXP 'y'
3つの*.l
を追加する方法をご覧ください l
が3回出現するため lullaby
という言葉で 。
LIKE
でも同じことができます REGEXP
の代わりに 。これが元の質問と同等のクエリです...
SELECT word FROM us_6 WHERE
word LIKE '%v%' AND
word LIKE '%l%l%' AND
word LIKE '%e%' AND
word LIKE '%o%' AND
word LIKE '%y%'