Я пытаюсь вычислить запрос mysql для вычисления таблицы, содержащей входы и выходы людей в офисе.
Что у меня есть:
id PERSON IN OUT
1 Person A 2019-03-11 08:59:30 NULL
2 Person B 2019-03-11 08:32:00 NULL
3 Person C 2019-03-11 08:04:40 NULL
4 Person D 2019-03-11 07:58:50 NULL
5 Person E 2019-03-11 07:35:20 NULL
6 Person F 2019-03-11 07:35:00 NULL
7 Person A NULL 2019-03-11 15:00:50
8 Person B NULL 2019-03-11 14:57:00
8 Person C NULL 2019-03-11 13:19:50
9 Person D NULL 2019-03-11 15:14:20
10 Person E NULL 2019-03-11 15:15:50
11 Person F NULL 2019-03-11 15:28:10
Что бы я хотелКак получить:
id PERSON IN OUT DIFF IN MINUTES
1 Person A 2019-03-11 08:59:30 2019-03-11 15:00:50 XXX
2 Person B 2019-03-11 08:32:00 2019-03-11 14:57:00 XXX
3 Person C 2019-03-11 08:04:40 2019-03-11 13:19:50 XXX
4 Person D 2019-03-11 07:58:50 2019-03-11 15:14:20 XXX
5 Person E 2019-03-11 07:35:20 2019-03-11 15:15:50 XXX
6 Person F 2019-03-11 07:35:00 2019-03-11 15:28:10 XXX
TOTAL OF XXXS
TOTAL OF XXXS - YYY (constant)
Идея состоит в том, чтобы получить информацию о времени, проведенном в офисе в течение одного дня.Кроме того, мне нужно резюме минут за весь месяц на человека.Группировка на человека / в месяц.
Я потратил некоторое время и пользуюсь этим запросом, но эффект посредственный:
SELECT a.PERSON, a.IN, b.OUT, TIMESTAMPDIFF(SECOND,a.IN,b.OUT)-28880 AS WHATSLEFT
FROM presence a
INNER JOIN presence b
ON a.PERSON = b.PERSON
WHERE DATEDIFF(a.IN,b.OUT) = 0 AND b.PERSON ="Person A"
ORDER BY a.IN;
Спасибо за помощь!Адам