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...