Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Сумира множество стойности на колони с условия

Ако даден потребител използва няколко APPS на едно устройство тази заявка ще използва APPS ред с най-високо 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

Във вашия набор от данни той ще избере редове за използване 5, 3, 4 за потребител 12 .

Вижте как работи в 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. Задайте резултата от MySQL заявка в JComboBox

  2. mysql сървърът няма да стартира MAMP

  3. MySQL с JOIN не използва индекс

  4. PDO::__construct():Сървърът изпрати набор от знаци (255), неизвестен на клиента. Моля, докладвайте на разработчиците

  5. как да извлека json масив като таблица от текстова колона на mysql, когато броят на json обекти в масива е неизвестен?