Member 13971967 Ответов: 1

Укажите нулевое значение от MAX до MIN следующей даты


привет


У нас есть база данных посещаемости, где мы пытаемся отсортировать их как входящие, так и исходящие, запрос размещен здесь
SELECT employee_code,CONVERT(DATE,([attendance_date_with_time]) ) AS [DATE],MIN([attendance_date_with_time]) AS [IN],MAX([attendance_date_with_time]) AS [OUT] FROM attendanceBioMetric GROUP BY Employee_Code,CONVERT(DATE,([attendance_date_with_time]) ) order by DATE desc


Дает нам правильные данные для сотрудников в A-shift, а также Gen-shift, потому что их дата входа и дата выхода из системы приходится на один и тот же день. в то время как для сотрудников B-shift данные выхода возвращают минимальное значение, поскольку дата выхода отличается от даты входа в систему.

Есть ли у кого-нибудь решение этой проблемы

Спасибо

Что я уже пробовал:

Ничего,
Но у меня есть предложение, можем ли мы указать NULL в функции Max, чтобы вернуть минимальное значение следующей даты.
Нужен код для того же самого,

1 Ответов

Рейтинг:
1

CHill60

Вместо использования MAX и MIN упорядочивайте записи в порядке сотрудников и дат, а затем используйте LEAD или LAG для определения соответствующих дат входа/выхода - MySQL :: MySQL 8.0 Справочное Руководство :: 12.20.1 Описание Оконных Функций[^]


Maciej Los

5ed!