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 |
发布于 2019-12-18 01:56:47
首先将exchange
连接到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;
https://stackoverflow.com/questions/59384268
复制相似问题