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

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

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

Здравствуйте, буду благодарен, если подскажете как сделать интересующую меня выборку в БД. В таблице есть поле категория, в которое заносятся id категорий через запятую. К примеру от 5 до 16. Это может быть один id или несколько через запятую. Я пытаюсь собрать строки именно из этих категорий (5 - 16). Помимо этого, есть еще около 50 других id категорий. Я пробовал делать следующим образом:
Листинг программы
  1. 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
Листинг программы
  1. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут