Чтобы выбрать данные за два периода в MySQL, мы можем использовать оператор UNION
или UNION ALL
, который объединяет результаты двух или более запросов.
1. Оператор UNION
используется для объединения результатов двух или более SELECT-запросов, и он удаляет повторяющиеся строки из результатов. Ниже приведен пример запроса с использованием UNION
:
SELECT * FROM table_name WHERE date BETWEEN '2021-01-01' AND '2021-06-30' UNION SELECT * FROM table_name WHERE date BETWEEN '2020-01-01' AND '2020-06-30';
2. Оператор UNION ALL
также объединяет результаты двух или более SELECT-запросов, но не удаляет повторяющиеся строки. Пример запроса с использованием UNION ALL
:
SELECT * FROM table_name WHERE date BETWEEN '2021-01-01' AND '2021-06-30' UNION ALL SELECT * FROM table_name WHERE date BETWEEN '2020-01-01' AND '2020-06-30';
В обоих примерах table_name
- имя таблицы, из которой мы хотим выбрать данные, а date
- имя колонки с датой или временем, по которому мы фильтруем данные.
Обратите внимание, что даты в предложении BETWEEN
заданы в формате ГГГГ-ММ-ДД
, и они представляют начало и конец каждого периода, за которые мы хотим выбрать данные.
Кроме того, вы можете использовать другие операторы и ключевые слова, чтобы дополнительно фильтровать данные по вашим требованиям, например, добавив условие AND
для дополнительных критериев выборки.