यदि कोई उपयोगकर्ता एकाधिक 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 पर काम करते हुए देखें।