Получить из определенного диапазона sql

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

create table videos(
  title text,
  date_range text);
  
insert into videos(title, date_range) values 
('Title1', '["2021-03-18 - 2021-03-20", "2021-03-01 - 2021-03-05", "2021-03-15"]'),
('Title2', '["2021-02-12 - 2021-02-13", "2021-02-02 - 2021-02-06","2021-02-10"]');
+--------+----------------------------------------------------------------------+
| title  |                date_range                                            |
+--------+----------------------------------------------------------------------+
| Title1 | ["2021-03-18 - 2021-03-20", "2021-03-01 - 2021-03-05", "2021-03-15"] |
| Title2 | ["2021-02-12 - 2021-02-13", "2021-02-02 - 2021-02-06","2021-02-10"]  |
+--------+----------------------------------------------------------------------+

Как получить видео с 2021-03-18 - 2021-03-19?

Итак, таблица результатов должна выглядеть так:

+--------+----------------------------------------------------------------------+
| title  |                date_range                                            |
+--------+----------------------------------------------------------------------+
| Title1 | ["2021-03-18 - 2021-03-20", "2021-03-01 - 2021-03-05", "2021-03-15"] |
+--------+----------------------------------------------------------------------+

Здесь у вас есть рабочий пример с этой таблицей, но без результата, потому что я не знаю, как этого добиться. Заранее спасибо!

Рассмотрите возможность нормализации вашей схемы

Strawberry 30.03.2021 11:57
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
1
16
1

Ответы 1

Нормализованная схема может выглядеть примерно так:

id title  date_range_start date_range_end
 1 Title1 2021-03-18       2021-03-20
 2 Title1 2021-03-01       2021-03-05
 3 Title1 2021-03-15       2021-03-15
 4 Title2 2021-02-12       2021-02-13
 5 Title2 2021-02-02       2021-02-06
 6 Title2 2021-02-10       2021-02-10

Я не хочу этого делать, есть ли способ сделать это без нормализации схемы?

olebchris 30.03.2021 13:14

Клубника прямо здесь. Если вы хотите иметь возможность делать устаревшие запросы, вам придется нормализовать, как это делал он. У вас также может быть таблица с заголовками, связанными с таблицей диапазона дат, чтобы добиться того же. В любом случае ваша схема не подходит для запросов даты.

Orsiris de Jong 30.03.2021 13:21

На мой взгляд, у вас есть два варианта: 1. Нормализовать схему. 2. Не беспокойтесь о СУБД

Strawberry 30.03.2021 13:41

Другие вопросы по теме