[Résolu] Obtenir la dernière valeur en SQL

Bonjour les gens !

J’ai un soucis stupide que je n’arrive pas à régler et le SQL n’est pas trop mon point fort,

J’ai une table avec des times séries de ce genre :

Date                          room    temperature
01.01.2020 16:30:21           room1   21.0
01.01.2020 15:45:24           room2   21.5
02.01.2020  09:21:10          room1   24
02.01.2020  09:21:12          room2   25
02.01.2020  09:22:37          room1   24
02.01.2020  09:22:39          room2   25

Résultat attendu ;

02.01.2020  09:22:37          room1   24
02.01.2020  09:22:39          room2   25

J’aimerai une query sql qui ne me sort que la dernière occurence (la plus récente basée sur la date) pour chaque pièce… et je sèche comme un idiot depuis hier soir.

Une idée? Mes recherches sur le net ne sont pas concluantes, pour info c’est une base mariadb derrière

Bonjour
SELECT * FROM Database WHERE Date = ‹ 02.01.2020 ›

Hello,

Merci pour ta réponse mais le but c’est de prendre la dernière date de façon dynamique :slight_smile:

Donc je ne peux/veux pas spécifier de date manuellement

Et d’ailleurs dans mon cas réel, se sont des HH:mm:SS et pas des dates mais le problème reste le même :slight_smile:

Et d’ailleurs je ne sais pas si les timestamp enrgistrés date d’y il y 5min, 1h ou 6h :smiley:

SELECT * FROM database ORDER BY Date DESC LIMIT 1

Le soucis en faisant cela c’est que je ne garde que le dernier record, et les enregistrements ne sont pas tous à la même heure (mon exemple était trop simple désolé)

Je viens d’y mettre à jours :smiley:

Réussi :smiley:

SELECT t.room, t.date, t.temperature

FROM mesures t

inner join (

    SELECT room, max(date) as MaxDate

    FROM mesures

    group by room

) tm on t.room = tm.room and t.date = tm.MaxDate