Вывести строки содержащие числа через запятую в MySQL

Рейтинг: 0Ответов: 2Опубликовано: 23.01.2023

Есть такая таблица в mysql:

user   || user_id || numbers

test   |    1    | 1,5,10 
test2  |    2    | 5,6,7 
test3  |    3    | 2,6,7 

Как выбрать строки, где numbers содержит число 6 (исключая 16, 26 и т.д.)

Ответы

▲ 1Принят

Все очень просто

SELECT * FROM table_name WHERE FIND_IN_SET(6, numbers)
▲ 0

Если решать задачу в лоб, то можно просто перечислить все возможные варианты, при которых встречается 6:

select * from table t
where t.numbers = '6'
   OR t.numbers like '6,%'
   OR t.numbers like '%,6,%'
   OR t.numbers like '%,6'