Mysql
 sql >> Base de données >  >> RDS >> Mysql

Obtenir une ligne avec max (colonne)

D'autres bases de données (par exemple, MS SQL Server) ne vous permettent pas de mélanger des valeurs agrégées avec des valeurs non agrégées, simplement parce que vous obtiendriez un mauvais résultat.

Donc, si vous voulez des valeurs non agrégées à partir de l'enregistrement où se trouvait la valeur maximale, rejoignez à nouveau la table :

select x.user, y.col1, y.col2, x.col3
from (
  select user, max(col3) as col3
  from table
  group by user
) x
inner join table y on y.user = x.user and y.col3 = x.col3
order by x.user