· 4 years ago · Jul 14, 2021, 10:40 AM
1DROP TABLE IF EXISTS 011_011_0002.tcx_mobile_users_sessions_tmp;
2
3
4CREATE TEMPORARY TABLE 011_011_0002.tcx_mobile_users_sessions_tmp AS (
5 SELECT
6 device_hwid,
7 COUNT(DISTINCT(loyalty_card)) AS loyalty_card_distinct_count,
8 MAX(device_last_access_at) AS device_last_access_at_max
9 FROM 011_011_0002.tcx_mobile_users_sessions
10 WHERE (
11 device_hwid IS NOT NULL AND
12 device_platform IN (1, 2)
13 )
14 GROUP BY device_hwid
15 HAVING loyalty_card_distinct_count < 2 --
16);
17
18SELECT A.device_hwid, A.loyalty_card, A.device_last_access_at
19FROM 011_011_0002.tcx_mobile_users_sessions A
20RIGHT JOIN 011_011_0002.tcx_mobile_users_sessions_tmp B
21ON (
22 A.device_hwid=B.device_hwid AND
23 A.device_last_access_at=B.device_last_access_at_max
24);