sql >> Databasteknik >  >> RDS >> Mysql

Få rad med max(kolumn)

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


  1. Hur man åtgärdar MySQL-felet 1064

  2. Ansluta Talend på Windows till en ODBC-databas

  3. dyr fråga tar ner databasserver -- letar efter sätt att mildra

  4. Vad är det maximala antalet rader som en enskild SQL Server-tabell kan lagra?