1.统计出场率最高的三位英雄

发布时间 2023-09-22 17:09:38作者: 麦客沐子
1.统计出场率最高的三位英雄
SELECT hero 英雄名称 , COUNT(*) 出场次数
FROM match_info
GROUP BY 英雄名称
ORDER BY 出场次数 DESC
LIMIT 3;

查询结果:

 

2.统计YAGAO选手使用最多的三位英雄
SELECT hero 英雄名称 , COUNT(*) 出场次数
FROM match_info JOIN player ON match_info.player_id=player.id
WHERE `name`='YAGAO'
GROUP BY 英雄名称
ORDER BY 出场次数 DESC
LIMIT 3;

查询结果:

 

3.统计所有使用过Nautilus的选手,以及选手的队伍
SELECT player.id 选手ID , team.id 队伍ID ,player.`name` 选手名称 ,team.`name` 队伍名称
FROM match_info
JOIN player ON match_info.player_id = player.id
JOIN team ON match_info.team_id = team.id
WHERE hero = 'Nautilus'

查询结果:

 

 

4.统计所有bo中人头数最高的三个队伍
SELECT oid , bo , team.id 队伍ID , team.`name` 队伍名称 , `kill`
FROM match_info
JOIN team ON match_info.team_id = team.id
ORDER BY `kill` DESC
LIMIT 3;

查询结果:

 

5.统计oid为10136,bo为3的场次中,所有选手的评分
SELECT oid , bo , team.id 队伍ID , player.id 选手ID , player.`name` 选手昵称 , `kill`+0.5*ass-death+10 评分
FROM match_info
JOIN player ON match_info.player_id = player.id
JOIN team ON match_info.team_id = team.id
WHERE oid = '10136' AND bo = '3';

查询结果:

 

 

6.统计所有比赛中TOP为英雄的出场情况,按照次数倒序
SELECT hero 英雄名称 , COUNT(*) 出场次数
FROM match_info WHERE location = 'TOP'
GROUP BY 英雄名称
ORDER BY 出场次数 DESC;

查询结果:

 

 

7.统计所有选手使用Jinx的选手中,kill最高的三位选手
SELECT player.id 选手ID ,player.`name` 选手昵称 ,`kill`
FROM match_info
JOIN player ON match_info.player_id = player.id
WHERE hero = 'Jinx'
ORDER BY `kill` DESC
LIMIT 3;

 

查询结果:

 

 

8.统计BIN选手使用过的所有英雄,KDA最高的三位

SELECT player.id 选手ID ,player.`name` 选手昵称 , hero 英雄名称 ,  (`kill`+ass)/death KDA
FROM match_info
JOIN player ON match_info.player_id = player.id
WHERE player.`name`='BIN'
GROUP BY 英雄名称
ORDER BY KDA DESC
LIMIT 3;

查询结果:

 

 

9.统计On选手使用过的英雄,计算KDA,并按照使用次数倒序排列
SELECT player.id 选手ID ,player.`name` 选手昵称 , hero 英雄名称 , COUNT(*) 使用次数 , (`kill`+ass)/death KDA
FROM match_info
JOIN player ON match_info.player_id = player.id 
WHERE player.`name` = 'ON'
GROUP BY 英雄名称
ORDER BY 使用次数 DESC;

查询结果:

 

 

10.统计所有BOT位的英雄的使用次数,kda
SELECT hero 英雄名称 , COUNT(*) 使用次数 , (SUM(`kill`)+SUM(ass))/SUM(death) KDA
FROM match_info WHERE location = 'BOT'
GROUP BY 英雄名称

查询结果:

 

 

11. 统计所有的英雄中,KDA最高的三个倒序排列,需要带上队伍名称和选手名称
SELECT player.id 选手ID , player.`name` 选手昵称 ,team.`name` 队伍名称 , hero 英雄名称 ,(`kill`+ass)/death KDA
FROM match_info
JOIN player ON match_info.player_id = player.id 
JOIN team ON match_info.team_id = team.id
GROUP BY 英雄名称
ORDER BY KDA DESC
LIMIT 3;

查询结果: