Как выбрать диапазон между использоваться следующие переменные и end_date - в MySQL
В этом случае у меня есть таблица "оставить" :
+--------+---------+---------+-------------+---------+-----------+ |ID_LEAVE|ID_WORKER| BEGIN_DATE | END_DATE | +--------+---------+---------+---------+------------+------------+ | 4 | 26 |2019-03-19 07:00:00 |2019-03-22 15:00:00 | +--------+---------+---------+----------------------+------------+
Я хочу написать запрос mysql, который выбирает все в диапазоне между датой начала и датой окончания, а затем подводит итог. Когда я так пишу:
SELECT *, time_format(SUM((datediff(END_DATE, BEGIN_DATE) + 1) * (time(END_DATE) - time(BEGIN_DATE))), '%H:%i:%s') AS 'LEAVE TIME' FROM leave WHERE (DATE(BEGIN_DATE) >= '2019-03-19' AND DATE(END_DATE) <='2019-03-22') GROUP BY ID_LEAVE;
Затем показывается вот так:
+--------+---------+---------+-------------+---------+------------------------+ |ID_LEAVE|ID_WORKER| BEGIN_DATE | END_DATE | LEAVE_TIME | +--------+---------+---------+---------+------------+--------------------+----- | 4 | 26 |2019-03-19 07:00:00 |2019-03-22 15:00:00 | 32:00:00 | +--------+---------+---------+----------------------+------------+-------------
SELECT *, time_format(SUM((datediff(END_DATE, BEGIN_DATE) + 1) * (time(END_DATE) - time(BEGIN_DATE))), '%H:%i:%s') AS 'LEAVE TIME' FROM leave WHERE (DATE(BEGIN_DATE) >= '2019-03-19' AND DATE(END_DATE) <='2019-03-21') GROUP BY ID_LEAVE;
Это ничего не показывает.
У меня есть вопрос: можно ли показать все в диапазоне (Begin_date и End_date)? Если да, то может ли кто-нибудь объяснить, как это написать? Спасибо за любой ответ.
Что я уже пробовал:
Я пробовал писать вот так:
SELECT *, time_format(SUM((datediff(END_DATE, BEGIN_DATE) + 1) * (time(END_DATE) - time(BEGIN_DATE))), '%H:%i:%s') AS 'LEAVE TIME' FROM leave WHERE (DATE(BEGIN_DATE) >= '2019-03-19' AND DATE(END_DATE) <='2019-03-21') GROUP BY ID_LEAVE;
Но это не помогло.