У меня есть таблица asset_history, которая выглядит следующим образом ...
asset_id | timestamp | sites |
1 2019-02-02 09:10:01 null
1 2019-02-02 09:10:00 [{"id":2},{"id":3}]
2 2019-02-02 10:00:01 [{"id":2},{"id":3}]
2 2019-02-02 10:00:00 null
3 2019-02-02 10:00:02 null
3 2019-02-02 10:00:01 null
3 2019-02-02 10:00:00 [{"id":3}]
4 2019-02-02 11:00:00 [{"id":2}]
Я хочу написать SQL-запрос, который даст мне самую последнюю запись из этой таблицы для каждого ресурса, только если в последней записи этого ресурса указано значение «sites».
Вывод из приведенной выше таблицы, которую я ищу, будет
asset_id | timestamp | sites |
1 2019-02-02 09:10:01 null
3 2019-02-02 10:00:02 null
Я также хотел бы знать общее количество активов, в которых последняя запись в каждом активе имеет сайты с нулевым значением, а разница во времени между текущим временем и отметкой времени на последней записи, где сайты имеют нулевое значение, превышает 1 час.
Таким образом, предполагая, что текущее время 2019-02-02 10:30:00, набор результатов будет выглядеть следующим образом ... (Поскольку только asset_id 1 имеет разницу во времени больше 1 часа по сравнению с текущим временем)
| count |
1