MySql с использованием интервала со списком дат

Я хочу получить все даты, указанные в списке, сократив 1 день Я пытаюсь что-то вроде этого:

select date
from MyTable
where date in ('2022-03-22', '2022-03-18', '2022-03-11') - interval 1 day

Я хочу получить:

'2022-03-21', '2022-03-17', '2022-03-10'

О чем list вы здесь говорите?

Mabiyan 22.03.2022 09:55

если это сработало для вас, не забудьте дать ему положительный голос

Javier G.Raya 29.03.2022 19:42
Освоение архитектуры микросервисов с 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
2
47
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Можно с интервалами.

Вот ссылка на то, как это работает:https://www.db-fiddle.com/f/3PnzHErrf2fZFGZY67K12X/48

SELECT ADDDATE("2022-03-22", INTERVAL -1 DAY);
SELECT ADDDATE("2022-03-18", INTERVAL -1 DAY);
SELECT ADDDATE("2022-03-11", INTERVAL -1 DAY);

Вы также можете сделать это с помощью concat, например:https://www.db-fiddle.com/f/3PnzHErrf2fZFGZY67K12X/49

SELECT CONCAT(ADDDATE("2022-03-22", INTERVAL -1 DAY),' | ',
              ADDDATE("2022-03-18", INTERVAL -1 DAY),' | ',
              ADDDATE("2022-03-11", INTERVAL -1 DAY));

Вы можете добавить 1 день к значению столбца date, чтобы сравнить его со списком IN:

SELECT date
FROM MyTable
WHERE date + INTERVAL 1 DAY IN ('2022-03-22', '2022-03-18', '2022-03-11');

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

Похожие вопросы

Я пытаюсь найти SQL-запрос, чтобы получить элементы с красной рамкой на диаграмме. Каков запрос, чтобы получить столбцы в красной рамке?
Каков сценарий получения ошибки «наберите tcp xxx:xxx:xxx:xxx:3306: connect: соединение отклонено» и как избежать этой ошибки
Как получить данные из базы данных и отобразить диапазон строк таблицы в php
Получить всех пользователей с помощью LEFT JOIN
Могу ли я использовать псевдоним запроса выбора в многострочном обновлении в MySQL?
MySQL/MariaDB: это самый эффективный способ вставки уникальных значений и возврата неуникальных значений?
Mysql 8 (innodb) ограничения внешнего ключа для вновь созданных индексов
SQLSTATE [23000]: нарушение ограничения целостности: 1452 Невозможно добавить или обновить дочернюю строку в Laravel9
ETIMEDOUT при подключении удаленной базы данных mysql из приложения node.js на сервере heroku
Выберите кассиров, продававших билеты на разные мероприятия в один и тот же день