Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL Sumuj wartości wielu kolumn z warunkami

Jeśli użytkownik korzysta z wielu APPS na jednym urządzeniu to zapytanie użyje APPS wiersz z najwyższym 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

W zestawie danych wybierze wiersze użycia 5, 3, 4 dla użytkownika 12 .

Zobacz, jak działa w SQL Fiddle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Problemy ze znalezieniem i wyświetleniem listy rekordów z modelu relacji w aplikacji Rails

  2. Wybierz różne uporządkowane pary z dołączenia do tabeli pogrupowane według ostatniej daty wydarzenia

  3. znajdź wszystkie nazwy za pomocą zapytania mysql, które zaczynają się na literę 'a'

  4. Jak korzystać z Coalesce w MySQL

  5. Alternatywa NOT IN na MySQL