I have a SQL table where I am trying to extract the latest data for each category.
My table schema
| deviceId | varchar(30) | NO | | NULL | |
| rssi | varchar(15) | YES | | NULL | |
| space_temperature | varchar(30) | YES | | NULL | |
| control | varchar(30) | YES | | NULL | |
| counter | varchar(30) | YES | | NULL | |
| timestamp | varchar(30) | NO | | NULL | |
| date | varchar(30) | NO | | NULL | |
| floor | varchar(30) | YES | | NULL | |
| Id | varchar(5) | YES | | NULL | |
I want to fetch the latest row for each Id.
select * from Data where floor = 'L2' and date = '2019-12-10' group by Id;
This is giving me a row for each Id, but it is giving me the first entry but not the latest entry in the table.
I tried with
select *,max(timestamp) as latest_timestamp from Data where floor = 'L2' and date = '2019-12-10' group by Id;
This is giving the latest timestamp but the other columns have the data of the first entry. How to get the results of the latest entry for each Id group?