Вывести данные которые через запятую - MySQL

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

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

В таблице есть данные, которые через запятую, как их вывести в столбик. Например
SELECT film_genre FROM `films` ORDER BY `id` DESC
А в film_genre записи идут как драма, мелодрама, фэнтези | триллер, детектив, ужасы и так далее. Вывод такой сейчас: film_genre детектив, криминал, драма, комедия комедия, музыка триллер, драма фэнтези, боевик, драма, военный боевик, триллер, драма, комедия, криминал драма, криминал триллер, детектив, ужасы драма, мелодрама, фэнтези комедия, приключения, фэнтези триллер фантастика, триллер триллер драма, мелодрама, комедия фантастика, боевик, триллер триллер, криминал триллер, военный, история фэнтези, мелодрама, драма комедия, мелодрама драма, детектив драма, биография драма, криминал комедия, приключения мелодрама, детектив фэнтези, драма, мелодрама фэнтези, драма, мелодрама А мне надо: мелодрама драма фэнтези комедия приключения И так далее.

Решение задачи: «Вывести данные которые через запятую»

textual
Листинг программы
SELECT DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(film_genre,',', 1),',', -1) AS genre FROM films

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

В данном коде на языке SQL выполняется запрос к таблице films с целью выбрать уникальные значения столбца genre.

  1. SUBSTRING_INDEX - это функция, которая возвращает подстроку из заданной строки. В данном случае используется два раза:
    • SUBSTRING_INDEX(film_genre,',', 1) - из строки в столбце film_genre извлекается первое вхождение запятой, то есть название жанра фильма.
    • SUBSTRING_INDEX(SUBSTRING_INDEX(film_genre,',', 1),',', -1) - извлекается последнее вхождение запятой перед последним символом строки, то есть жанр фильма.
  2. DISTINCT - это ключевое слово, которое используется для выбора уникальных значений столбца genre.
  3. AS genre - это псевдоним, который присваивается вычисленному значению, чтобы его можно было использовать в дальнейшем запросе или при выводе результатов. Таким образом, данный запрос выбирает уникальные жанры фильмов из столбца film_genre, извлекая их с помощью функции SUBSTRING_INDEX и используя ключевое слово DISTINCT.

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


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

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

7   голосов , оценка 3.571 из 5
Похожие ответы