Mysql цикл в таблице для определенных значений - PullRequest
0 голосов
/ 25 мая 2018

В целях тестирования в моей таблице записаны определенные прибытия и отправления (тип бронирования = "прибытие" или "отправление").

Предположим, что структура:

ID (PK), RFID, Date, Time, Booking type

Я хотел бы узнать, кто забыл зарегистрировать его / ее собственный последний выезд в данную дату.

Моя идея состоит в том, чтобы выяснить, является ли последний (самый высокий ID?) Бронирование для каждогоRFID (человек) равно «отъезд».

Кто-нибудь был бы так любезен, чтобы дать мне подсказку?

Заранее спасибо

edit: Пример с данными

1, 12345, 20.05.2018, 10:00, прибытие

2, 44444, 20.05.2018, 10:30, прибытие

3, 12345,20.05.2018, 14:00, вылет

4, 44444, 20.05.2018, 15:00, вылет

5, 44444, 20.05.2018, 16:00, прибытие

6, 12345, 20.05.2018, 17:00, прибытие

7, 44444, 20.05.2018, 19:00, отправление

Пользователь 12345 забыл записать свой "последний" выезд за день.Я хотел бы, чтобы его / ее показывали (как я хотел бы передать вывод для других целей).

1 Ответ

0 голосов
/ 25 мая 2018

Если все, что вы хотите знать, была ли последняя запись дня для каждого пользователя отправлением, то вы можете попробовать это:

SELECT t1.RFID
FROM yourTable t1
INNER JOIN
(
    SELECT RFID, MAX(Time) AS max_time
    FROM yourTable
    WHERE Date = '2018-05-20'
    GROUP BY RFID
) t2
    ON t1.RFID = t2.RFID AND t1.Time = t2.max_time
WHERE
    t1.Date = '2018-05-20'
    t1.booking_type = 'arrival';

Стратегия здесь состоит в том, чтобы изолировать последнюю записьдля каждого пользователя в данный день, а затем проверьте тип бронирования для этой записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...