User
|uid|admin|match_id|code|
|152|0 |NULL |PH |
|66 |1 |2212 |US |
|66 |0 |1234 |AL |
|66 |0 |2221 |AL |
Transfer
|eid|transfer_at|match_id|
|284|2018-11-29 |2001 |
|284|2018-11-30 |2023 |
|284|2018-12-03 |2023 |
当两个用户一起转移时,他们成为“转移”。每次转移有两个用户。一个用户可以有多个匹配项。
当两个用户完成传输时,会在传输表中添加一行。
预期结果-该代码中用户间平均转移次数小于两个的代码
|code|
|PH |
|US |
|BR |
首先左连接交换
到user
并使用聚合来获取每个用户的匹配次数。然后再次聚合以获取每个国家/地区的平均匹配次数。
SELECT x.country
FROM (SELECT u.uid,
u.country,
count(e.eid) matches
FROM user u
LEFT JOIN exchange e
ON e.match_id = u.match_id
GROUP BY u.uid,
u.country) x
GROUP BY x.country
HAVING avg(x.matches) < 2;