Tenho uma tabela (ainda no MySQL 5.7) com muitos dados. Esta tabela é escrita por alguns scripts. Funciona como um “checkin”, onde cada agente faz o check-in em algum período de tempo. Parece abaixo.
eu ia | agente | status | carimbo de data/hora |
---|---|---|---|
1 | Tom | OK | 16/03/2023 12:27:03 |
2 | Jeff | degradado | 31/08/2023 00:01:13 |
100 | Tom | OK | 03/10/2023 12:00:00 |
101 | Jeff | OK | 03-10-2023 11:59:00 |
Eu gostaria de escolher a linha mais recente de cada agente. Portanto, no exemplo acima, gostaria de obter as linhas 100 e 101.
Eu uso o seguinte script, mas acontece apenas as duas primeiras linhas. Tentei alterar a ordem por id ou carimbo de data/hora ASC/DESC.
SELECT * FROM (SELECT * FROM db_table ORDER BY timestamp ASC) as agnt GROUP BY agent
Como fazer funcionar?