Здесь должен работать простой запрос GROUP BY
:
SELECT
EMP_NUMBER,
ATTDATE,
MIN(ATTTIME) AS ATTINTIME,
MAX(ATTTIME) AS ATTOUTTIME
FROM yourTable
GROUP BY
EMP_NUMBER,
ATTDATE;
Примечание. В этом ответе предполагается, что ваши данные о дате и времени находятся в фактических столбцах datetime
и time
.Если нет, то вы работаете непосредственно с текстом, и он не будет правильно сортироваться.В качестве временного средства защиты вы можете использовать STR_TO_DATE
.Например, вы можете преобразовать столбец ATTTIME
в нужное время, используя это:
STR_TO_DATE(ATTTIME, '%H:%i')