This is your query today.SELECT MAX(MaxOfid_xp) AS MaxOfMaxOfid_xp, id_ontotita AS id_ont, MAX(hmer_xp) AS MaxOfhmer_xpFROM ( SELECT MAX(id_xp) AS MaxOfid_xp, id_ontotita, hmer_xp FROM ONTOT_xreopistwseis AS xp WHERE hmer_xp <= @dateeos GROUP BY id_ontotita, hmer_xp ) AS xp1GROUP BY id_ontotitaORDER BY MaxOfMaxOfid_xp, id_ont
The code is bloated. Max is Max no matter where you get the value.Try this insteadSELECT MAX(id_xp) AS MaxOfMaxOfid_xp, id_ontotita AS id_ont, MAX(hmer_xp) AS MaxOfhmer_xpFROM ONTOT_xreopistwseis AS xpWHERE hmer_xp <= @dateeosGROUP BY id_ontotitaORDER BY MAX(id_xp), id_ontotita
E 12°55'05.63"N 56°04'39.26"