sql >> Database >  >> RDS >> Mysql

MySQL Som meerdere kolomwaarden op met voorwaarden

Als een gebruiker meerdere APPS gebruikt op één apparaat gebruikt deze zoekopdracht de APPS rij met de hoogste usage_start_time :

select  a.userid
,       sum(u.high_count)
,       sum(u.medium_count)
from    apps a
join    `usage` u
on      u.appid = a.id
join    (
        select  u.device_id
        ,       a.userid
        ,       max(a.usage_start_time) as max_start_time
        from    apps a
        join    `usage` u
        on      u.appid = a.id
        group by
                u.device_id
        ,       a.userid
        ) filter
on      filter.device_id = u.device_id
        and filter.userid = a.userid
        and filter.max_start_time = a.usage_start_time
group by
        a.userid

In uw dataset selecteert het gebruiksrijen 5, 3, 4 voor gebruiker 12 .

Zie hoe het werkt bij SQL Fiddle.



  1. MySQL - De beste methode om met deze hiërarchische gegevens om te gaan?

  2. Hoe R verbinden met MySQL? Kan geen verbinding maken met de database:Fout:plug-in caching_sha2_password kan niet worden geladen

  3. Laravel:bestel op waar in

  4. SQL ROWNUM hoe rijen tussen een specifiek bereik te retourneren