Как сделать MySQL запрос для текста разделить на,

У меня есть MySQL базы данных. Ряд выглядит

name | name | groups | name
==============================
item | item | 1,3,5  | item

Мне нужно сделать запрос для:

Выберите все строки, которые имеют группа = 3. Как я это делаю? Есть ли простая строка запроса

Большое спасибо !

1

Решение

Нет ничего лучше, чем нормализовать ваш стол, но если вам все еще нужно сделать так, вот один из способов,

Пытаться where пункт как это

 $group = 3;
where groups IN("$group",",$group","$group,",",$group,")
0

Другие решения

Вы можете попробовать это

$search = 1;// or whatever you want to search
select * from table_name where groups like '%,$search,%' or groups like '$search,%'  or groups like '%,$search'

или вы можете попробовать это простой

select * from table_name where find_in_set('3',groups ) <> 0

для получения дополнительной информации о find_in_set пожалуйста, прочитайте http://www.w3resource.com/mysql/string-functions/mysql-find_in_set-function.php

0

По вопросам рекламы [email protected]