Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

For Both the queries used SQL SERVER .

1) For the first query I have used 3 tables namely Players , Batsman_Scored and Ball_by_Ball

SELECT a.match_id,c.player_name,SUM(b.runs_scored) AS Total_runs

FROM Ball_by_Ball a

INNER JOIN Batsman_scored b

ON

CONCAT(a.match_id,a.over_id,a.ball_id,a.innings_id)=CONCAT(b.match_id,b.over_id,b.ball_id,

b.innings_no)

INNER JOIN Player c ON a.striker=c.player_id

GROUP BY a.match_id,c.player_name,Total_runs

ORDER BY Tital_runs DESC

LIMIT 1 ;

2)For query two using Batsman_Scored and Ball_by_Ball and Wickets_Taken

SELECT a.match_id,a.bowler,MAX(a.wickets),

a.runs_given , MAX(a.wickets) +”-“+ a.runs_given AS Best_bowling_figure

FROM (

SELECT wt.match_id,

wt.bowler,wt.wickets,rt.runs_given

FROM (

SELECT byb.match_id,byb_bowler,COUNT(byb.ball_id) as wickets FROM

Ball_by_Ball byb

INNER JOIN Wicket_Taken wkt ON byb.match_id=wkt.match_id AND

byb.over_id=wkt.over_id AND

byb.innings_id=wkt.innings_no

GROUP BY byb.match_id,byb.bowler
) wt

INNER JOIN

SELECT byb.match_id,byb.bowler,SUM(runs_scored) AS runs_given FROM

Ball_by_Ball byb

INNER JOIN Batsman_scored bs ON byb.match_id

AND

byb.over_id=bs.over_id

AND

byb.ball_id=bs.ball_id

AND

byb.innings_id=bs.innings_no

GROUP BY bs.match_id,bs.bowler

)rt

ON rt.match_id=wt.match_id ) a

GROUP BY a.bowler

ORDER BY a.wickets DESC LIMIT 5 ;

OUTPUT STRUCTURE :

bowle
match_id max(a.wickets) runs_given Best_Bowling_figure
r

You might also like