有一个线上服务器访问日志格式如下(用sql答题)
时间 接口 ip地址
2016-11-09 11:22:05 /api/user/login 110.23.5.33
2016-11-09 11:23:10 /api/user/detail 57.3.2.16
.....
2016-11-09 23:59:40 /api/user/login 200.6.5.166
数据集
2016-11-09 14:22:05 /api/user/login 110.23.5.33 2016-11-09 11:23:10 /api/user/detail 57.3.2.16 2016-11-09 14:59:40 /api/user/login 200.6.5.166 2016-11-09 14:22:05 /api/user/login 110.23.5.34 2016-11-09 14:22:05 /api/user/login 110.23.5.34 2016-11-09 14:22:05 /api/user/login 110.23.5.34 2016-11-09 11:23:10 /api/user/detail 57.3.2.16 2016-11-09 23:59:40 /api/user/login 200.6.5.166 2016-11-09 14:22:05 /api/user/login 110.23.5.34 2016-11-09 11:23:10 /api/user/detail 57.3.2.16 2016-11-09 23:59:40 /api/user/login 200.6.5.166 2016-11-09 14:22:05 /api/user/login 110.23.5.35 2016-11-09 14:23:10 /api/user/detail 57.3.2.16 2016-11-09 23:59:40 /api/user/login 200.6.5.166 2016-11-09 14:59:40 /api/user/login 200.6.5.166 2016-11-09 14:59:40 /api/user/login 200.6.5.166
需求:
求11月9号下午14点(14-15点),访问api/user/login接口的top10的ip地址
1)建表
create table address( time string, interface string, ip string ) row format delimiter fields terminated by 't';
2)需求SQL
第8题select ip, interface, count(*) ct from address where date_format(time,'yyyy-MM-dd HH')>='2016-11-09 14' and date_format(time,'yyyy-MM-dd HH')<='2016-11-09 15' and interface='/api/user/login' group by ip,interface order by ct desc limit 10;
有一个账号表如下,请写出SQL语句,查询各自 区组的money排名前十的账号(分组取前10)
1) 建表
create table `account`( dist_id int(11) default null comment '区组id', `account` varchar(100) default comment '账号', `gold` int(11) default 0 comment '金币' );
需求:查询各自 区组的money排名前十的账号(分组取前10)
select * from account as a where (select count(distinct (a1.gold)) from account as a1 where a1.dist_id = a.dist_id and a1.gold>a.gold) <3;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)