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');