Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL Tính tổng nhiều giá trị cột với các điều kiện

Nếu người dùng sử dụng nhiều APPS trên một thiết bị, truy vấn này sẽ sử dụng APPS hàng có usage_start_time cao nhất :

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

Trong tập dữ liệu của bạn, nó sẽ chọn các hàng sử dụng 5, 3, 4 cho người dùng 12 .

Xem nó hoạt động trong 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. Cách chạy nhiều câu lệnh MySQL thông qua JDBC sampler trong JMeter

  2. các giá trị khác biệt của mysql không có chuỗi rỗng và NULL

  3. Đếm có bao nhiêu trường MySQL trong một hàng được lấp đầy (hoặc trống)

  4. Địa chỉ ràng buộc và máy chủ MySQL

  5. MySQL Workbench hiển thị kết quả dưới dạng BLOB