Как правильно составить запрос на выборку - MySQL

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, буду благодарен, если подскажете как сделать интересующую меня выборку в БД. В таблице есть поле категория, в которое заносятся id категорий через запятую. К примеру от 5 до 16. Это может быть один id или несколько через запятую. Я пытаюсь собрать строки именно из этих категорий (5 - 16). Помимо этого, есть еще около 50 других id категорий. Я пробовал делать следующим образом:
SELECT * FROM `name1name` WHERE `category` LIKE '4' OR `category` LIKE '6' OR `category` LIKE '7' OR `category` LIKE '8' OR `category` LIKE '9' OR `category` LIKE '10' OR `category` LIKE '11' OR `category` LIKE '12' OR `category` LIKE '13' OR `category` LIKE '14' OR `category` LIKE '15' OR `category` LIKE '16' OR `category` LIKE '17' OR `category` LIKE '18' OR `category` LIKE '5' OR `category` LIKE '3'
находит только те строки, в которых id точно соответствует. Но не находит, если например в id

3,4,5

Как выбрать нужное из этих категорий (5 - 16)? Пробовал немного по другому, но у меня в результаты подмешивались все строки, которые содержат указанный id. Например для 4 добавлялись 14, 24, 34, 44 .. и т.д.

Решение задачи: «Как правильно составить запрос на выборку»

textual
Листинг программы
SELECT * FROM `name1name` WHERE `category` BETWEEN '4' AND '16'

Объяснение кода листинга программы

  1. Запрос написан на языке SQL.
  2. Выполняется операция SELECT, которая служит для выбора данных из базы данных.
  3. Выборка производится из таблицы name1name.
  4. В запросе используется условие WHERE, которое позволяет задать критерий для выборки данных.
  5. В условии WHERE используется оператор BETWEEN, который позволяет выбрать данные, удовлетворяющие определенному диапазону значений.
  6. Диапазон значений задается с помощью символов '4' и '16', которые обозначают начало и конец диапазона.
  7. Значения '4' и '16' заключены в одинарные кавычки, чтобы они были распознаны как строки.
  8. В результате выполнения запроса будут выбраны все строки из таблицы name1name, у которых значение поля category находится в диапазоне от '4' до '16'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.5 из 5