Ciao a tutti,
sto utilizzando MariaDB, ma poco centra con il mio problema
Il problema sta su GROUP BY, credevo di averne capito il funzionamento, ma in realtà continuo ad avere un comportamento non voluto e a mio avviso inspiegabile.
Ho una tabella con i seguenti dati:
Id Val DataIn DataOut 1 25 2019-02-09 NULL 2 25 2020-01-09 NULL 3 239 2019-10-06 NULL 4 239 2020-06-10 2021-05-28 5 67 2021-07-26 NULL 6 67 2018-02-20 NULL 7 25 2021-07-26 NULL
A questo punto vorrei estrarre tutti i record con MAX(DataIn), e con la query che ho scritto funziona ma...
...mi ritrovo con DataIn e Val corretti, ma Id sbagliato:codice HTML:SELECT id, val, MAX(DataIn) FROM test GROUP BY val
Id Val MAX(DataIn) 1 25 2021-07-26 5 67 2021-07-26 3 239 2020-06-10
Non capisco il senso di questo risultato.
Se è stata estratta correttamente la data massima e il relativo valore Val, perchè devo trovarmi con Id 1,5,3 e non 7, 5, 4?
Cosa mi sta sfuggendo?
E' ovvio che avere un risultato di questo tipo porta solo a problemi quando è ora di effettuare un JOIN con altre tabelle.
Vi ringrazio anticipatamente per l'aiuto.