sql >> Databáze >  >> RDS >> Mysql

Získat řádek s max (sloupec)

Jiné databáze (např. MS SQL Server) vám neumožňují míchat agregované hodnoty s neagregovanými hodnotami jen proto, že byste dostali špatný výsledek.

Pokud tedy chcete neagregované hodnoty ze záznamu, kde byla maximální hodnota, připojte se znovu k tabulce:

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. Ignorujte chybu duplicitního klíče v MySQL při INSERT

  2. Sestavte strom ze struktury tabulky parent_id id

  3. Proč použití aliasu sloupce ve stejném výběru není podporováno v Oracle a Mysql?

  4. find() na modelu dává id jako řetězec v jednom prostředí a int v jiném