Lihat ini... untuk menghindari mereferensikan grup hasil yang sama, saya membuat tabel... Anda harus menghapusnya setelah melakukan pemrosesan, atau mengganti maxcounttemp dengan (SELECT what, loc, count(loc) howmany FROM maxcount GROUP BY what, loc) as tblX
Saya mencoba membuatnya SEMENTARA, tetapi Anda tidak dapat menggunakannya di dalam subquery jika tabel luarnya sama.
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);
semoga membantu... perlu diingat bahwa bx atau by sama-sama memungkinkan pada kueri ini...