sql >> データベース >  >> RDS >> Mysql

値が最大カウントを持つmysql

    これを確認してください...同じグループの結果を参照しないように、テーブルを作成しました...処理後にテーブルを削除するか、maxcounttempを(SELECT what, loc, count(loc) howmany FROM maxcount GROUP BY what, loc) as tblX TEMPORARYにしようとしましたが、外部テーブルが同じ場合、サブクエリ内で使用することはできません。

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

    お役に立てば幸いです...このクエリではbxまたはbyも同様に可能であることに注意してください...




    1. 雄弁な多対多対多対多-遠い関係を簡単にロードする方法

    2. mysqlの2つのテーブルからデータをフェッチする方法は?

    3. CSVからMySQLDBへのデータの挿入は非常に遅い

    4. cx_Oracleと例外処理-グッドプラクティス?