Я застрял для получения результата о select, где больше и, например, до тех пор, пока мои данные выглядят так:
id profile_id status created_at updated_at
1 1 2 31/12/2018 03.38.02 31/12/2018 03.38.02
2 1 4 01/01/2019 03.38.02 01/01/2019 03.38.02
3 1 2 02/01/2019 03.38.02 02/01/2019 03.38.02
4 1 4 03/01/2019 03.38.02 03/01/2019 03.38.02
5 1 5 03/01/2019 03.38.02 03/01/2019 03.38.02
6 1 4 03/01/2019 03.38.02 03/01/2019 03.38.02
Я хочу получить такой результат, и строки будут иметь до последнего статуса =4 покажите все значения до тех пор, пока не встретите статус 4
5 1 5 03/01/2019 03.38.02 03/01/2019 03.38.02
6 1 4 03/01/2019 03.38.02 03/01/2019 03.38.02
. Пока я пытался сделать это, но не смог, запрос как этот
SELECT
*
FROM
`profiles`
WHERE `created_at` >
(SELECT
`created_at`
FROM
`profiles`
WHERE `status` IN ('4')
AND `profile_id` = '1'
ORDER BY `from` DESC
LIMIT 1)
AND `profile_id` = '1'
AND `status` IN (0, 1, 2, 3, 4, 5)
ORDER BY `from` ASC
и результат пустой
и если я изменю данные следующим образом
id profile_id status created_at updated_at
1 1 2 31/12/2018 03.38.02 31/12/2018 03.38.02
2 1 4 01/01/2019 03.38.02 01/01/2019 03.38.02
3 1 2 02/01/2019 03.38.02 02/01/2019 03.38.02
4 1 4 03/01/2019 03.38.02 03/01/2019 03.38.02
5 1 5 03/01/2019 03.38.02 03/01/2019 03.38.02
*6 1 2 03/01/2019 03.38.02 03/01/2019 03.38.02*
И результат с моим запросом будет таким
5 1 5 03/01/2019 03.38.02 03/01/2019 03.38.02
6 1 2 03/01/2019 03.38.02 03/01/2019 03.38.02
Конечно, ожидаемые результаты не такие, яхотите результаты без изменения предыдущих данных, которые отображают
5 1 5 03/01/2019 03.38.02 03/01/2019 03.38.02
6 1 4 03/01/2019 03.38.02 03/01/2019 03.38.02
Кто-нибудь может помочь мне решить эту проблему?