Andra databaser (t.ex. MS SQL Server) låter dig inte blanda aggregerade värden med icke aggregerade värden, bara för att du skulle få fel resultat.
Så om du vill ha icke aggregerade värden från posten där det maximala värdet var, gå med i tabellen igen:
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