0
点赞
收藏
分享

微信扫一扫

LeetCode(数据库)- 可以放心投资的国家


题目链接:

题目大意:略。

解题思路:略。

AC 代码

-- 解决方案(1)
WITH t AS((SELECT caller_id call_id, duration FROM Calls) UNION ALL (SELECT callee_id, duration FROM Calls)),
t1 AS(SELECT id, c.name FROM Person JOIN Country c ON country_code = SUBSTRING(phone_number, 1, 3))

SELECT name country
FROM t JOIN t1 ON call_id = id
GROUP BY name
HAVING AVG(duration) > (SELECT AVG(duration) all_country_avg FROM t)

-- 解决方案(2)
SELECT c.name AS country
FROM Calls, Person, Country c
WHERE (caller_id = id OR callee_id = id) AND country_code = LEFT(phone_number, 3)
GROUP BY country_code
HAVING AVG(duration) > (SELECT AVG(duration) FROM Calls);


举报

相关推荐

0 条评论