Yah, cukup mudah untuk men-debug:
SELECT '"listeListeOuiNon":"2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
mengembalikan 0
SELECT '"listeListeOuiNon":"1"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
mengembalikan 1
SELECT '"listeListeOuiNon":"1,2"' REGEXP BINARY '"listeListeOuiNon":".*1.*"'
mengembalikan 1
Jadi ada sesuatu yang tidak beres di pihak Anda... karena itu tidak bisa mengembalikan baris di mana body sama dengan "listeListeOuiNon":"2"
. Tapi mungkin saja, badan itu memiliki beberapa pernyataan ini, seperti:
body => '"listeListeOuiNon":"1,2", "listeListeOuiNon":"2"'
Jadi, Anda harus mengubah regexp Anda:
'^"listeListeOuiNon":".*1.*"$'
Nah, maka Anda harus mengubah kueri Anda:
SELECT DISTINCT tag, body FROM pages
WHERE (body REGEXP BINARY '"listeListeOuiNon":".*1.*"') AND NOT (body REGEXP BINARY '"listeListeOuiNon":"2"')