J'ai un tableau de données de capteurs. Chaque ligne contient un identifiant de capteur, un horodatage et d'autres champs. Je veux sélectionner une seule ligne avec le dernier horodatage pour chaque capteur, y compris certains des autres champs.
Je pensais que la solution serait de grouper par l'identifiant du capteur et ensuite d'ordonner par max(timestamp) comme ceci :
SELECT sensorID,timestamp,sensorField1,sensorField2
FROM sensorTable
GROUP BY sensorID
ORDER BY max(timestamp);
Cela me donne une erreur disant que "sensorField1 doit apparaître dans la clause group by ou être utilisé dans un agrégat".
Quelle est la bonne façon d'aborder ce problème ?