sql >> Database teknologi >  >> RDS >> Mysql

mysql, hvilken værdi har maksimalt antal

Tjek dette ud... for at undgå at referere til den samme gruppe af resultater, oprettede jeg en tabel... du skal slette den efter at have udført behandlingen, eller erstatte maxcounttemp med (SELECT what, loc, count(loc) howmany FROM maxcount GROUP BY what, loc) as tblX Jeg forsøgte at gøre det MIDLERTIDIG, men du kan ikke bruge det i en underforespørgsel, hvis den ydre tabel er den samme.

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);

håber det hjælper... husk på, at bx eller by er lige så mulige på denne forespørgsel...




  1. Left Join udkonkurrerer Inner Join?

  2. MySQL - Vælg med COUNT, der returnerer en NULL-række

  3. Dataanalyseguide:Det er tid til at udmærke sig ved at bruge Excel!

  4. Hvordan MariaDB opnår global skala med Xpand