1501. 可以放心投资的国家

Create table If Not Exists Person (id int, name varchar(15), phone_number varchar(11))

Create table If Not Exists Country (name varchar(15), country_code varchar(3))

Create table If Not Exists Calls (caller_id int, callee_id int, duration int)

Truncate table Person

insert into Person (id, name, phone_number) values ('3', 'Jonathan', '051-1234567')

insert into Person (id, name, phone_number) values ('12', 'Elvis', '051-7654321')

insert into Person (id, name, phone_number) values ('1', 'Moncef', '212-1234567')

insert into Person (id, name, phone_number) values ('2', 'Maroua', '212-6523651')

insert into Person (id, name, phone_number) values ('7', 'Meir', '972-1234567')

insert into Person (id, name, phone_number) values ('9', 'Rachel', '972-0011100')

Truncate table Country

insert into Country (name, country_code) values ('Peru', '051')

insert into Country (name, country_code) values ('Israel', '972')

insert into Country (name, country_code) values ('Morocco', '212')

insert into Country (name, country_code) values ('Germany', '049')

insert into Country (name, country_code) values ('Ethiopia', '251')

Truncate table Calls

insert into Calls (caller_id, callee_id, duration) values ('1', '9', '33')

insert into Calls (caller_id, callee_id, duration) values ('2', '9', '4')

insert into Calls (caller_id, callee_id, duration) values ('1', '2', '59')

insert into Calls (caller_id, callee_id, duration) values ('3', '12', '102')

insert into Calls (caller_id, callee_id, duration) values ('3', '12', '330')

insert into Calls (caller_id, callee_id, duration) values ('12', '3', '5')

insert into Calls (caller_id, callee_id, duration) values ('7', '9', '13')

insert into Calls (caller_id, callee_id, duration) values ('7', '1', '3')

insert into Calls (caller_id, callee_id, duration) values ('9', '7', '1')

insert into Calls (caller_id, callee_id, duration) values ('1', '7', '7')

 

一家电信公司想要投资新的国家. 该公司想要投资的国家是:  该国的平均通话时长要严格地大于全球平均通话时长.

写一段 SQL,  找到所有该公司可以投资的国家.

返回的结果表没有顺序要求.

查询的结果格式如下例所示.

 

select name as country

from

    (select caller_id as call_id, duration from Calls

    union all

    select callee_id as call_id, duration from Calls) a

left join 

    (select id, c.name

    from Person

    left join Country c

    on left(Person.phone_number,3) = c.country_code) b

on call_id = id

group by name

having avg(duration)> (select avg(duration) from Calls)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值