Home > other >  SQL return latest data from each date
SQL return latest data from each date

Time:06-30

Sample table

id id_sequence date
1 1 2022-06-27
2 1 2022-06-27
3 1 2022-06-27
4 2 2022-06-27
5 2 2022-06-27
6 1 2022-06-28
7 1 2022-06-28
8 2 2022-06-28
9 2 2022-06-28

Expected Output

id id_sequence date
3 1 2022-06-27
5 2 2022-06-27
7 1 2022-06-28
9 2 2022-06-28

how can I make a query to get latest data on every date in MySql. tried to use MAX(id) for the id_sequence but it does not return a correct value since the expected output will take only highest id of every sequence and the output will only display distinct data of id_sequence 1,2 at date 2022-06-28.

CodePudding user response:

If you want to make sure dates are taken distinctively, you need to add it inside the GROUP BY clause.

SELECT MAX(id) AS id, 
       id_sequence,
       date_
FROM tab
GROUP BY id_sequence,
         date_
ORDER BY id

Check the demo here.

  • Related