id | status | dateCreate
1 | 0 | 2020-02-15 15:41:06
2 | 1 | 2020-02-18 15:41:06
1 | 1 | 2020-02-18 15:41:06
2 | 0 | 2020-02-25 15:41:06
1 | 1 | 2020-03-01 15:41:06
4 | 1 | 2020-03-18 15:41:06
3 | 1 | 2020-03-19 15:41:06
7 | 0 | 2020-03-20 15:41:06
5 | 1 | 2020-03-21 15:41:06
4 | 0 | 2020-03-21 15:41:06
8 | 1 | 2020-03-22 15:41:06
4 | 1 | 2020-03-23 15:41:06
это моя таблица с примерами, что я хотел сделать, чтобы получить последний статус, равный 1 для каждого идентификатора, поэтому, исходя из таблицы, я хотел бы получить следующий результат:
id | status | dateCreate
1 | 1 | 2020-03-18 15:41:06
4 | 1 | 2020-03-18 15:41:06
3 | 1 | 2020-03-19 15:41:06
5 | 1 | 2020-03-21 15:41:06
8 | 1 | 2020-03-22 15:41:06
, так как последний статус id 2 был 0
, и это мой пример запроса, который не получает именно то, что я хочу, так как он также получает id 2, так как раньше он имел статус 1. в результате я хотел получить последний статус на основе dateCreate со статусом 1
SELECT A.id,A.status, MAX(A.dateCreate)
FROM (SELECT id, status, dateCreate
FROM table status = 1) A GROUP BY A.id ORDER BY A.dateCreate desc