您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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为user选择使用情况行12

看到它在SQL Fiddle上运行。

MySQL 2022/1/1 18:52:50 有372人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶