sql >> Databáze >  >> RDS >> Mysql

Nejvyšší výskyt hodnoty v každé skupině

Zavedl jsem dočasnou tabulku jen proto, aby se věci trochu lépe četly. Určitě byste mohli tento dotaz nahradit inline a v případě potřeby odstranit dočasnou tabulku.

První výběr sčítá návštěvy na uživatele a web.

Druhý výběr najde maximální počet návštěv pro každého uživatele v dílčím dotazu a poté se připojí zpět k dočasné tabulce, aby našel web, jehož počet odpovídá této maximální hodnotě.

create temporary table TempSum
    select user-ID, website-ID, count(*) as TotalCount
        from YourTable
        group by user-ID, website-ID

select ts.user-ID, ts.website-ID, ts.TotalCount
    from (select user-ID, max(TotalCount) as MaxCount
              from TempSum
              group by user-ID) ms
        inner join TempSum ts
            on ts.user-ID = ms.user-ID
                and ts.TotalCount = ms.MaxCount


  1. Booleovská pole v MySQL Django Models?

  2. Seznam SELECT není v klauzuli GROUP BY a obsahuje neagregovaný sloupec .... nekompatibilní s sql_mode=only_full_group_by

  3. Chyba syntaxe SQL LIMIT

  4. SQL Server 2005 Pivot na neznámý počet sloupců