MySQL - запрос нескольких записей на основе строки с разделителями

У меня есть следующая таблица с именем "Features":

id  feature
-----------------------
1   aa
2   bb
3   cc
4   dd
5   ee
6   ff

Есть ли способ запросить эту таблицу на основе строки с разделителями? что-то вроде:

select * from features where {some magic here} = "1,4,5"

который должен возвращать только соответствующие записи?

4 ответа

Решение

Есть IN Ключевое слово, которое позволяет использовать набор значений вместо того, что вы пытались. Для этого примера это будет что-то вроде

SELECT * FROM features WHERE id IN (1,4,5)

Используя IN:-

select * 
from features where id IN (1,4,5)

Или вы имеете в виду пропущенную строку?

Не уверен на 100%, что я знаю, о чем вы спрашиваете - пытаетесь ли вы извлечь все записи, соответствующие набору идентификаторов, или ищете функцию, содержащую определенную строку?

Для первых:

select * from features where id in (1,4,5);

Для последнего:

select * from features where feature like '%1,4,5%';

Используйте предложение IN следующим образом:

select * from features where id IN(1,4,5);

или же

select * from features where feature IN ('aa','dd','ee');
Другие вопросы по тегам