Eventuali duplicati:
How to get the record of a table who contains the maximum value?SQL select max (data) e il valore corrispondente
Ho una query di aggregazione come la seguente:
SELECT TrainingID, Max(CompletedDate) as CompletedDate, Max(Notes) as Notes --This will only return the longest notes entry
FROM HR_EmployeeTrainings ET
WHERE (ET.AvantiRecID IS NULL OR ET.AvantiRecID = @avantiRecID)
GROUP BY AvantiRecID, TrainingID
Quale è funziona e restituisce i dati corretti la maggior parte del tempo, ma ho notato un problema. Il campo Note che viene restituito non corrisponde necessariamente al record da cui proviene il massimo (completedDate). Invece sarà quello con la corda più lunga? O quello con il più alto valore ASCII? Cosa fa SQL Server in caso di parità tra due record? Non sono nemmeno sicuro. Quello che voglio ottenere è il campo delle note dal record max (completedDate). Come dovrei avere a fare questo?
È completato Data non un DateTime? – Frobzig
È un DateTime. Nessun problema con quel campo, ma con Notes. – MAW74656
le note massime o ogni nota per il 'max (completedDate)'? – Marc