Есть таблица с данными:
id | value | list
В
list
хранятся данные вида
111 222 333 444
(как лучше их хранить я не придумал, данные в
list
постоянно будут увеличиваться, в плоть до тысяч в одной строке, мне кажется это не совсем правильный способ...)
Данные в таблице:
id | value | list
-------------------------
1 | ... | 111 222 333
2 | ... | 333 444
3 | ... | 555 444 333
4 | ... | 444 111 333
5 | ... | 111 222
Вопрос: как получить одну строку с наименьшим
id
(то есть
id == 2
) где в
list
нет
111
?
Пробовал так, но из-за % выводит не совсем корректно.
SELECT * FROM table WHERE list NOT LIKE '%111%' OR NOT NULL ORDER BY id LIMIT 1
Если плохо объяснил, то в list я храню уникальные id юзеров, которые просмотрели контент, таким образом я его помечаю, чтобы больше его не показывать юзеру.