sql >> Databasteknik >  >> RDS >> Mysql

mysql vilket värde har maximalt antal

Kolla in det här... för att undvika att referera till samma grupp av resultat skapade jag en tabell... du bör ta bort den efter bearbetningen, eller ersätta maxcounttemp med (SELECT what, loc, count(loc) howmany FROM maxcount GROUP BY what, loc) as tblX Jag försökte göra den TILLFÄLLIG, men du kan inte använda den i en underfråga om den yttre tabellen är densamma.

CREATE TABLE `maxcounttemp` (
  `what` varchar(1) DEFAULT NULL,
  `loc` varchar(1) DEFAULT NULL,
  `howmany` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO maxcounttemp (
  SELECT what, loc, count(loc) howmany FROM maxcount GROUP BY what, loc
);

SELECT mct.what, mct.loc, mct.howmany
FROM maxcounttemp mct 
WHERE (mct.what, mct.howmany) IN (
  SELECT mct2.what, MAX(mct2.howmany) 
  FROM maxcounttemp mct2 
  WHERE mct2.what = mct.what 
  GROUP BY mct2.what
) GROUP BY (mct.what);

hoppas det hjälper... tänk på att bx eller by är lika möjliga för den här frågan...




  1. MySQL Math - Är det möjligt att beräkna en korrelation i en fråga?

  2. Django MySQL distinkt fråga för att få flera värden

  3. MySQL Hur returnerar man unika/distinkta resultat?

  4. Viloläge:Skapa Mysql InnoDB-tabeller istället för MyISAM