sql >> Databasteknik >  >> RDS >> Mysql

Högsta utseende av ett värde inom varje grupp

Jag har introducerat en tillfällig tabell bara för att göra saker lite lättare att läsa. Du kan säkert ersätta den frågan inline och eliminera temptabellen om så önskas.

Det första valet summerar besöken per användare och webbplats.

Den andra markeringen hittar det maximala antalet besök för varje användare i underfrågan och går sedan tillbaka till den tillfälliga tabellen för att hitta webbsidan vars antal matchar det maximala värdet.

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. Infoga en lista som innehåller flera värden i MySQL med pymysql

  2. MySQL om rad finns uppdatera annars infoga

  3. MySQL Workbench kan inte ansluta till lokal MySQL-tjänst på MAC OSX

  4. Vad är Oracle Joins (Sql Joins)?