| natural_query sql_query result tennis |
| How many players are in the database? SELECT COUNT(*) FROM players; 65019 tennis |
| What is the average height of all players? SELECT AVG(height) FROM players WHERE height IS NOT NULL; 183.74813763746 tennis |
| Who is the tallest player? SELECT name, height FROM players ORDER BY height DESC LIMIT 1; Reilly Opelka|211.0 tennis |
| How many right-handed players are there? SELECT COUNT(*) FROM players WHERE hand = 'R'; 15666 tennis |
| What is the shortest player's height? SELECT MIN(height) FROM players WHERE height IS NOT NULL; 145.0 tennis |
| How many different countries are represented? SELECT COUNT(DISTINCT ioc) FROM players; 226 tennis |
| Show all players taller than 200cm SELECT name, height FROM players WHERE height > 200; Victor Amaya|201.0 Michiel Schapers|201.0 Greg Neuhart|206.0 Milan Srejber|203.0 Marc Rosset|201.0 Dick Norman|203.0 Andrew Richardson|201.0 Brian Dunn|201.0 Alexander Popp|201.0 Dario Pizzato|201.0 Ivo Karlovic|208.0 Nikola Ciric|201.0 Marcelo Melo|203.0 John Isner|206.0 Chris Guccione|201.0 Philipp Oswald|201.0 Kevin Anderson|203.0 Kenny De Schepper|203.0 Alexander Bury|203.0 Thomas Schoorel|203.0 Jerzy Janowicz|203.0 Albano Olivetti|203.0 Danilo Petrovic|203.0 Christopher Eubanks|201.0 Reilly Opelka|211.0 Louis Wessels|201.0 tennis |
| What is the average height of left-handed players? SELECT AVG(height) FROM players WHERE hand = 'L' AND height IS NOT NULL; 183.606060606061 tennis |
| How many matches are recorded in total? SELECT COUNT(*) FROM matches; 947720 tennis |
| What was the longest match by duration? SELECT tourney_name, winner_name, loser_name, minutes FROM matches WHERE minutes IS NOT NULL ORDER BY minutes DESC LIMIT 1; Guayaquil CH|Federico Coria|Tomas Lipovsek Puches|4756.0 tennis |
| How many matches were played in best of 5 format? SELECT COUNT(*) FROM matches WHERE best_of = '5'; 67502 tennis |
| Show me matches where the winner was under 15 years old SELECT tourney_name, winner_name, winner_age FROM matches WHERE winner_age < 15; Davis Cup G2 R2: EGY vs DEN|Holger Rune|14.9 Fergana CH|Aziz Dadabaev|14.7 Fergana CH|Olimjon Nabiev|14.9 Iran F2|Nicolas Merzetti|14.3 Guam F1|Kody Pearson|14.8 Hilton Head CH|Ali Madani|14.5 Hilton Head CH|Ali Madani|14.5 Spain 8 Masters 3|Feliciano Lopez|14.9 Brisbane|David Carter|14.5 Pakistan 1 1|Cheong Eui Kim|14.3 Pakistan 1 2|Cheong Eui Kim|14.3 Pakistan 1 4|Cheong Eui Kim|14.3 Pakistan 1 4|Cheong Eui Kim|14.3 Pakistan 1 4|Cheong Eui Kim|14.3 Croatia 2 Masters 1|Roko Karanusic|14.6 Croatia 2 Masters 4|Roko Karanusic|14.6 Israel 2 Masters 4|Mosche Levy|14.6 Pakistan F1|Shahzeb Niazi|14.7 Davis Cup G2 PO: JOR vs SIN|Laith Azzouni|14.3 Itu-Sao Paulo CH|Marcelo Saliola|14.3 Brazil F9|Nelio Mattos|14.0 Brazil F13|Nelio Mattos|14.1 USA F21|Stefan Kozlov|14.4 USA F21|Stefan Kozlov|14.4 France F14|Rayane Roumane|14.8 France F14|Rayane Roumane|14.8 France F14|Rayane Roumane|14.8 France F15|Rayane Roumane|14.8 Switzerland F4|Rayane Roumane|14.9 France F17|Rayane Roumane|14.9 Spain F28|Nicolas Alvarez Varona|14.2 Croatia F2|Mario Ancic|14.8 Croatia F2|Mario Ancic|14.8 M15 Villena|Darwin Blanch|14.3 Latvia F1|Ivan Puchkarov|14.0 Russia F2|Ivan Puchkarov|14.0 Ukraine F2|Ivan Puchkarov|14.1 Ukraine F2|Ivan Puchkarov|14.1 Spain 6 Masters 1|Alberto Martin|14.9 Spain 6 Masters 2|Alberto Martin|14.9 Spain 6 Masters 2|Alberto Martin|14.9 Spain 6 Masters 4|Alberto Martin|14.9 USA F4|Stefan Kozlov|14.9 Japan F4|Duck Hee Lee|14.8 Guatemala F1|Ryan Alexander Mueller|14.7 Korea F2|Duck Hee Lee|14.9 China F5|Duck Hee Lee|14.9 China F5|Duck Hee Lee|14.9 China F5|Duck Hee Lee|14.9 Turkey F21|Mert Naci Turker|14.7 Malaysia 1 Masters 1|Mitsuru Takada|14.5 Brazil F2|Silas Araujo De Cerqueira|14.9 Colombia F1|Mateo Andres Ruiz Naranjo|14.5 Australia F4|Thanasi Kokkinakis|14.9 Argentina F21|Francisco Bahamonde|14.9 Argentina F21|Francisco Bahamonde|14.9 Bangalore CH|Amirben Barua|14.7 Granby CH|Felix Auger Aliassime|14.9 Granby CH|Felix Auger Aliassime|14.9 Czechoslovakia Masters 1|David Skoch|14.8 Ecuador Masters 3|Luis Horna|14.8 Peru Bolivia Masters 1|Luis Horna|14.9 Peru Bolivia Masters 3|Luis Horna|14.9 Peru Bolivia Masters 4|Luis Horna|14.9 Spain F5|Carlos Alcaraz|14.7 Spain F5|Carlos Alcaraz|14.7 Italy F15|Luca Nardi|14.8 Italy F15|Luca Nardi|14.8 Nigeria F5|Mukhtar Andu|14.1 Wimbledon|Clement Haughton Langston Cazalet|14.98151951 Wimbledon|Curt Bergmann|14.13552361 tennis |
| What is the average age of match winners? SELECT AVG(winner_age) FROM matches WHERE winner_age IS NOT NULL; 24.0506641635802 tennis |
| How many matches did players from the USA win? SELECT COUNT(*) FROM matches WHERE winner_ioc = 'USA'; 99510 tennis |
| What is the average height of match winners? SELECT AVG(winner_ht) FROM matches WHERE winner_ht IS NOT NULL; 184.204154531561 tennis |
| How many matches lasted more than 180 minutes? SELECT COUNT(*) FROM matches WHERE minutes > 180; 5425 tennis |
| What is the oldest match date recorded? SELECT MIN(tourney_date) FROM matches WHERE tourney_date IS NOT NULL AND matches.tourney_date > 18000000; 18770709.0 tennis |
| How many different tournaments are in the database? SELECT COUNT(DISTINCT tourney_name) FROM matches; 9082 tennis |
| What is the average age difference between winners and losers? SELECT AVG(winner_age - loser_age) FROM matches WHERE winner_age IS NOT NULL AND loser_age IS NOT NULL; 0.35414132842825 tennis |
| How many ranking records are there? SELECT COUNT(*) FROM rankings; 3235639 tennis |
| What is the highest number of points any player has achieved? SELECT MAX(Points) FROM rankings; 16950.0 tennis |
| List all players ranked in the top 10 SELECT r.rank, p.name, r.Points FROM rankings r JOIN players p ON r.player = p.player_id WHERE r.rank <= 10 AND r.ranking_date = (SELECT MAX(ranking_date) FROM rankings); 1|Novak Djokovic|9960.0 2|Jannik Sinner|8770.0 3|Carlos Alcaraz|7300.0 4|Alexander Zverev|6305.0 5|Daniil Medvedev|6295.0 6|Andrey Rublev|4700.0 7|Casper Ruud|4425.0 8|Hubert Hurkacz|3885.0 9|Stefanos Tsitsipas|3700.0 10|Grigor Dimitrov|3555.0 tennis |
| What is the average points for players ranked 1-10? SELECT AVG(Points) FROM rankings WHERE rank <= 10; 4127.61760391198 tennis |
| What is the minimum points needed to be in top 100? SELECT MIN(Points) FROM rankings WHERE rank <= 100 AND ranking_date = (SELECT MAX(ranking_date) FROM rankings); 623.0 tennis |
| List the top 5 countries by number of match wins SELECT winner_ioc, COUNT(*) as wins FROM matches GROUP BY winner_ioc ORDER BY wins DESC LIMIT 5; USA|99510 FRA|66714 ESP|63701 ITA|53514 ARG|50769 tennis |
| List tournaments with more than 3000 matches SELECT tourney_name, COUNT(*) as match_count FROM matches GROUP BY tourney_name HAVING COUNT(*) > 3000; Australian Open|10990 Barcelona|3741 Indian Wells Masters|3579 M15 Antalya|4318 M15 Monastir|6477 Miami Masters|4200 Queen's Club|3154 Roland Garros|13772 US Open|17246 Washington|3258 Wimbledon|17457 tennis |
| What is the win percentage of left-handed vs right-handed players? SELECT winner_hand, COUNT(*) as wins, ROUND(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER (), 2) as win_percentage FROM matches WHERE winner_hand IN ('L', 'R') GROUP BY winner_hand; L|100862|12.85 R|683813|87.15 tennis |
| List the top 10 players by number of match wins SELECT winner_name, COUNT(*) as wins FROM matches GROUP BY winner_name ORDER BY wins DESC LIMIT 10; |26399 Roger Federer|1305 Jimmy Connors|1279 Novak Djokovic|1179 Rafael Nadal|1167 Ivan Lendl|1075 Guillermo Vilas|953 Ilie Nastase|950 Andre Agassi|887 John McEnroe|886 tennis |
| How many matches were played in each best-of format? SELECT best_of, COUNT(*) as match_count FROM matches WHERE LENGTH(best_of) = 1 GROUP BY best_of; 1|36 3|853783 5|67502 F|653 tennis |
| Show countries with more than 1000 players SELECT ioc, COUNT(*) as player_count FROM players GROUP BY ioc HAVING COUNT(*) > 1000 ORDER BY player_count DESC; USA|13102 AUS|3266 GBR|3200 ESP|3026 GER|2675 ITA|2656 FRA|2582 BRA|2092 ARG|1759 MEX|1323 JPN|1305 RUS|1093 IND|1078 RSA|1040 tennis |
| List the distribution of player heights in 10cm ranges SELECT CAST(height/10 AS INTEGER)*10 as height_range, COUNT(*) as count FROM players WHERE height IS NOT NULL GROUP BY height_range ORDER BY height_range; 140|1 160|23 170|609 180|1624 190|536 200|25 210|1 tennis |
| Get player details for Rafael Nadal SELECT * FROM players WHERE name = 'Rafael Nadal'; 104745|L|19860603.0|ESP|185.0|Rafael Nadal tennis |
| How many matches did Roger Federer win? SELECT COUNT(*) FROM matches WHERE winner_name = 'Roger Federer'; 1305 tennis |
| List all players whose name contains 'Williams' SELECT name, ioc FROM players WHERE name LIKE '%Williams%'; James Williams|USA Ian Williams|USA Gareth Williams|RSA Jeff Williams|USA Rhyne Williams|USA Carl Williams|USA Phillip Williamson|USA R Williams|AUS Rald Williams|AUS Ted Williams|USA Duane Williams|BAR Seanon Williams|BAR John Williams|GBR Tom Williams|GBR Gavaskar Williams|ECA Jerry Williams|ECA Mark Williams|AUS Lachlan Williams|AUS Jamie Williams|GBR G Williams|AUS Owen Williams|RSA K Williams|AUS Dick Williams|USA E Ulysses Williams|GBR Eliot Crawshay Williams|GBR Lucien E Williams|USA David H Williams|GBR Llewelyn Williams|ARG Jorge Williams|ARG Richard O Williams|GBR Ec Williams|GBR Teddy Williams|GBR Sc Williams|USA J A Williams|USA Fp Williams|USA William Williams|USA Tp Williams|USA Hl Williamson|USA Joe Williams|USA X Williams|USA Richard Norris Williams|USA Dougal Williams|USA Jorge Williams Lopez|MEX Thomas Williams|GBR Rohan Williams|AUS Stefan Williams|NZL Wkwesi Williams|BAR Timmy Williams|AUS Yohansey Williams|TRI Dylan Williams|GBR Chris Williams|RSA Michael Williams|USA Nick Williams|USA Glenn Williams|USA Mark Williams W303|USA Francis Williams|USA Phillip Williamson|USA Paul Williams|USA John Paul Williams|USA Austin Williams|USA Carlos Williams|MEX Runeld Williams|USA Mark Gino Williams|RSA Steven Williams|USA Jack Williams|USA Lee Williams|USA Adam Williams|USA Earl Williams|USA Ashton Williams|USA Shane Williams|TRI Phillip Williams|JAM Narada Williams|JAM Justin Williams|USA Ellis Williamson|USA Gus Williams|USA Dick Williams|USA Blackwell Williams|USA Don Williams|USA Peter Williams|USA Charles Williams|USA Richard Williams|USA Scott Mcwilliams|USA Walter Williams|USA R N Williams|GBR Jeff Williams|USA Guy Williams|AUS A Williams|AUS T Williams|USA L K Williams|USA George Williams|USA J H A Williams|USA G M Williams|USA E T Williams|USA R G Williams|USA B C Williams|USA G Williamson|USA Adrian Williams|GBR David Williams|USA Brian Williams|AUS Logan Williams|USA Scott Williams|USA Brad Williams|AUS Bradwin Williams|RSA Nicholas Williams|AUS M Williams| P D R Williams|GBR J Williamson|IRL R E Williams|GBR Cooper Williams|USA Bill Williams|USA Aaron James Williams|GER tennis |
| Show latest rankings for player ID 104925 SELECT ranking_date, rank, Points FROM rankings WHERE player = 104925 ORDER BY ranking_date DESC LIMIT 1; 20240527|1|9960.0 tennis |
| Find the 10 latest matches between Nadal and Federer SELECT tourney_name, tourney_date, winner_name, loser_name, score FROM matches WHERE (winner_name = 'Rafael Nadal' AND loser_name = 'Roger Federer') OR (winner_name = 'Roger Federer' AND loser_name = 'Rafael Nadal') ORDER BY tourney_date DESC LIMIT 10; Wimbledon|20190701.0|Roger Federer|Rafael Nadal|7-6(3) 1-6 6-3 6-4 Roland Garros|20190527.0|Rafael Nadal|Roger Federer|6-3 6-4 6-2 Indian Wells Masters|20190304.0|Roger Federer|Rafael Nadal|W/O Shanghai Masters|20171009.0|Roger Federer|Rafael Nadal|6-4 6-3 Miami Masters|20170320.0|Roger Federer|Rafael Nadal|6-3 6-4 Indian Wells Masters|20170306.0|Roger Federer|Rafael Nadal|6-2 6-3 Australian Open|20170116.0|Roger Federer|Rafael Nadal|6-4 3-6 6-1 3-6 6-3 Basel|20151026.0|Roger Federer|Rafael Nadal|6-3 5-7 6-3 Australian Open|20140113.0|Rafael Nadal|Roger Federer|7-6(4) 6-3 6-3 Tour Finals|20131104.0|Rafael Nadal|Roger Federer|7-5 6-3 tennis |
| What is the highest rank achieved by player id 104925? SELECT MIN(rank) FROM rankings WHERE player = 104925; 1 tennis |
| Get the win-loss record for Carlos Alcaraz SELECT 'Wins' as result, COUNT(*) as count FROM matches WHERE winner_name = 'Carlos Alcaraz' UNION ALL SELECT 'Losses' as result, COUNT(*) as count FROM matches WHERE loser_name = 'Carlos Alcaraz'; Wins|247 Losses|67 tennis |
| Find the most common score in matches SELECT score, COUNT(*) as frequency FROM matches WHERE score IS NOT NULL GROUP BY score ORDER BY frequency DESC LIMIT 1; 6-4 6-4|30324 tennis |
| Show players born in the year 2008 SELECT name, dob FROM players WHERE dob >= 20080000 AND dob < 20090000; Vito Antonio Darderi|20080113.0 tennis |
| How many doubles matches are in the database? SELECT COUNT(*) FROM matches WHERE winner1_id IS NOT NULL; 26399 tennis |
| Find all players from Monaco SELECT name, ioc FROM players WHERE ioc IN ('MON'); Emmanuel Heussner|MON Sebastien Graeff|MON Guillaume Couillard|MON Jean Rene Lisnard|MON Thomas Oger|MON Benjamin Balleret|MON Clement Morel|MON Hugo Nys|MON Bernard Balleret|MON Gilles Ganancia|MON Luis Borfiga|MON Christophe Boggetti|MON Thomas Drouet|MON Jerome Seguin|MON Albert Viviani|MON Jacques Vincileoni|MON Eric Carlier|MON Andres Vatrican|MON Francisco Truchi|MON Alain Manigley|MON Michel Borfiga|MON Christian Collange|MON Patrick Landau|MON Rene Ruzic|MON Adrien Viviani|MON Emile Petit|MON Georges Pasquier|MON Roland Borghini|MON Vladimir M Landau|MON Rene Galeppe|MON Gaston Medecin|MON Aleco Noghes|MON Gaston Medecin|MON Aleco Noghes|MON Rene Gallepe|MON Roland Borghini|MON Arnaud Dalbergue|MON Marc Stillitano|MON Nicolas Klingelschmitt|MON Yvan Medecin|MON Emmanuel Van Der Pol|MON Edmund Michel Gastaud|MON Maurice Landau|MON Lucas Catarina|MON Olivier Peyret|MON tennis |
| Show matches where the height difference was more than 50cm SELECT tourney_name, winner_name, winner_ht, loser_name, loser_ht FROM matches WHERE ABS(winner_ht - loser_ht) > 50 AND winner_ht IS NOT NULL AND loser_ht IS NOT NULL; Egypt F14|Danilo Petrovic|203.0|Ilija Vucic|145.0 Nigeria F3|Ilija Vucic|145.0|Tucker Vorster|196.0 Nigeria F4|Tucker Vorster|196.0|Ilija Vucic|145.0 Serbia F5|Ilija Vucic|145.0|Nikola Ciric|201.0 Bosnia & Herzegovina F1|Danilo Petrovic|203.0|Ilija Vucic|145.0 Serbia F3|Danilo Petrovic|203.0|Ilija Vucic|145.0 tennis |
| How many matches had no duration recorded? SELECT COUNT(*) FROM matches WHERE minutes IS NULL; 748394 tennis |
| Show the youngest winner in any match SELECT winner_name, winner_age, tourney_name FROM matches WHERE winner_age IS NOT NULL ORDER BY winner_age ASC LIMIT 1; Nelio Mattos|14.0|Brazil F9 tennis |
| Find the oldest player to win a match SELECT winner_name, winner_age, tourney_name FROM matches WHERE winner_age IS NOT NULL ORDER BY winner_age DESC LIMIT 1; Tom Brown|101.5|M15 Santiago tennis |
| List all players shorter than 165cm SELECT name, height FROM players WHERE height < 165 AND height IS NOT NULL; Angel Gimenez|163.0 Eduardo Osta|160.0 Choon Ho Kim|163.0 Ramayah Ramachandran|160.0 Ilija Vucic|145.0 Yuta Shimizu|163.0 tennis |
| How many matches were won by players under 25? SELECT COUNT(*) FROM matches WHERE winner_age < 25; 573136 tennis |
| Show the average winner age by year between 1990 and 1995 SELECT CAST(tourney_date/10000 AS INTEGER) as year, AVG(winner_age) as avg_age FROM matches WHERE winner_age IS NOT NULL AND tourney_date >= 19900000 AND tourney_date <= 19951231 GROUP BY year ORDER BY year; 1990|23.740600162206 1991|22.8081504917807 1992|22.8424242424242 1993|22.852455520351 1994|22.9313226277372 1995|22.9975207977522 tennis |
| What percentage of matches are won by the taller player? SELECT (CAST(SUM(CASE WHEN winner_ht > loser_ht THEN 1 ELSE 0 END) AS FLOAT) / COUNT(*)) * 100 as percentage FROM matches WHERE winner_ht IS NOT NULL AND loser_ht IS NOT NULL; 45.2674228807518 tennis |
| Show the most successful player by win count SELECT winner_name, COUNT(*) as total_wins FROM matches WHERE winner_name IS NOT NULL GROUP BY winner_name ORDER BY total_wins DESC LIMIT 1; Roger Federer|1305 tennis |
| Show the average points difference between consecutive ranks for the top 10 ranks SELECT rank, AVG(Points - next_rank_points) as avg_diff FROM ( SELECT rank, Points, LEAD(Points) OVER (PARTITION BY ranking_date ORDER BY rank) as next_rank_points FROM rankings ) subquery WHERE next_rank_points IS NOT NULL GROUP BY rank ORDER BY rank LIMIT 10; 1|1636.20721271394 2|1143.42665036675 3|708.344743276284 4|536.484107579462 5|383.051344743276 6|307.098410757946 7|286.148533007335 8|240.486552567237 9|159.284841075795 10|128.124694376528 tennis |
| Find players who have improved their ranking by more than 2000 spots SELECT p.name, MAX(r.rank) as old_rank, MIN(r.rank) as new_rank, (MAX(r.rank) - MIN(r.rank)) as improvement FROM rankings r JOIN players p ON r.player = p.player_id GROUP BY p.player_id, p.name HAVING (MAX(r.rank) - MIN(r.rank)) > 2000 ORDER BY improvement DESC; Stefanos Tsitsipas|2208|3|2205 Denis Shapovalov|2151|10|2141 Ryan Peniston|2239|123|2116 Carlos Taberner|2197|85|2112 Bernabe Zapata Miralles|2139|37|2102 Alejandro Tabilo|2095|24|2071 Tomas Barrios Vera|2163|93|2070 Gian Marco Moroni|2221|159|2062 Tallon Griekspoor|2077|21|2056 Miguel Angel Lopez Jaen|2221|171|2050 Tomas Martin Etcheverry|2075|27|2048 Gijs Brouwer|2154|114|2040 Adam Chadaj|2237|202|2035 Soon Woo Kwon|2082|52|2030 Benjamin Bonzi|2070|42|2028 Andrea Pellegrino|2163|136|2027 Martin Verkerk|2035|14|2021 Marc Andrea Huesler|2060|47|2013 Thai Son Kwiatkowski|2189|181|2008 Lukas Klein|2122|116|2006 Altug Celikbilek|2159|154|2005 Ivan Gakhov|2143|142|2001 Jay Clarke|2154|153|2001 tennis |
| List countries with players in top 5 SELECT DISTINCT p.ioc FROM players p JOIN rankings r ON p.player_id = r.player WHERE r.rank <= 5 AND r.ranking_date = (SELECT MAX(ranking_date) FROM rankings); SRB ITA ESP GER RUS tennis |
| Show match count by month for 2023 SELECT CAST((tourney_date % 10000) / 100 AS INTEGER) as month, COUNT(*) as matches FROM matches WHERE tourney_date >= 20230000 AND tourney_date < 20240000 GROUP BY month ORDER BY month; 1|2303 2|2179 3|2347 4|2581 5|2891 6|3061 7|3761 8|2904 9|2841 10|3323 11|2499 12|585 tennis |
| Find the player with the most consistent ranking (lowest variance) SELECT p.name, AVG(r.rank) as avg_rank, COUNT(*) as appearances FROM rankings r JOIN players p ON r.player = p.player_id GROUP BY r.player, p.name HAVING COUNT(*) > 10 ORDER BY AVG(r.rank) ASC LIMIT 1; Stefan Edberg|16.3657817109145|678 tennis |
| Show tournaments where players from more than 70 countries have won SELECT tourney_name, COUNT(DISTINCT winner_ioc) as country_count FROM matches GROUP BY tourney_name HAVING COUNT(DISTINCT winner_ioc) > 70; Australian Open|85 M15 Monastir|79 Miami Masters|71 Roland Garros|85 US Open|90 Washington|74 Wimbledon|91 tennis |
| Get the total points for all ranked players by country (only the top 10) SELECT p.ioc, SUM(r.Points) as total_points FROM rankings r JOIN players p ON r.player = p.player_id WHERE r.ranking_date = (SELECT MAX(ranking_date) FROM rankings) GROUP BY p.ioc ORDER BY total_points DESC LIMIT 10; USA|26319.0 ITA|24835.0 FRA|24732.0 RUS|17876.0 ESP|17474.0 ARG|16757.0 AUS|14319.0 GER|14093.0 SRB|13632.0 GBR|8007.0 tennis |
| Who are the 10 tallest players? Show their name and height. SELECT name, height FROM players ORDER BY height DESC LIMIT 10; Reilly Opelka|211.0 Ivo Karlovic|208.0 Greg Neuhart|206.0 John Isner|206.0 Milan Srejber|203.0 Dick Norman|203.0 Marcelo Melo|203.0 Kevin Anderson|203.0 Kenny De Schepper|203.0 Alexander Bury|203.0 tennis |
| Find all players born after January 1, 2008. SELECT name, dob FROM players WHERE dob > 20080000; Vito Antonio Darderi|20080113.0 tennis |
| What is the name of the player with ID 104925? SELECT name FROM players WHERE player_id = 104925; Novak Djokovic tennis |
| How many matches were played in the 'Wimbledon' tournament? SELECT count(*) FROM matches WHERE tourney_name = 'Wimbledon'; 17457 tennis |
| List the winner and loser of tourney_id '2018-M020'. SELECT winner_name, loser_name FROM matches WHERE tourney_id = '2018-M020' AND round='F'; Nick Kyrgios|Ryan Harrison tennis |
| What was the score of the 'US Open' final in 2018? SELECT score FROM matches WHERE tourney_name = 'US Open' AND tourney_date LIKE '2018%' AND round = 'F'; 6-3 7-6(4) 6-3 tennis |
| Find all matches that lasted longer than 1000 minutes. SELECT tourney_name, winner_name, loser_name, minutes FROM matches WHERE minutes > 1000; Sydney|Gilles Muller|Jeremy Chardy|1146.0 Piracicaba CH|Federico Agustin Gomez|Igor Gimenez|1274.0 Vicenza CH|Federico Gaio|Joris De Loore|1241.0 Guayaquil CH|Federico Coria|Tomas Lipovsek Puches|4756.0 Samarkand CH|Dmitry Popko|Aleksandre Metreveli|1237.0 Santiago CH|Juan Pablo Paz|Cristopher Kohl|1392.0 Luedenscheid CH|Camilo Ugo Carabelli|Timofey Skatov|1531.0 tennis |
| What was the name and country of the winner of the 'Roland Garros' 2023 tournament? SELECT winner_name, winner_ioc FROM matches WHERE tourney_name = 'Roland Garros' AND round = 'F' AND tourney_date >= 20230000 AND tourney_date < 20240000; Novak Djokovic|SRB tennis |
| Who was the number 1 ranked player on March 20, 2023? SELECT p.name FROM players AS p JOIN rankings AS r ON p.player_id = r.player WHERE r.rank = 1 AND r.ranking_date = 20230320; Carlos Alcaraz tennis |
| What were the top 5 players and their points on 2024-01-01? SELECT p.name, r.points FROM players AS p JOIN rankings as r ON p.player_id = r.player WHERE ranking_date = 20240101 ORDER BY rank ASC LIMIT 5; Novak Djokovic|11245.0 Carlos Alcaraz|8855.0 Daniil Medvedev|7600.0 Jannik Sinner|6490.0 Andrey Rublev|4805.0 tennis |
| What is the most recent ranking for player 126207? SELECT rank, points FROM rankings WHERE player = 126207 ORDER BY ranking_date DESC LIMIT 1; 26|1630.0 tennis |
| How many ranking entries exist for player 104925? SELECT count(*) FROM rankings WHERE player = 104925; 988 tennis |
| What is the name of the player who was ranked #1 on 2023-06-12? SELECT T1.name FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player WHERE T2.rank = 1 AND T2.ranking_date = 20230612; Novak Djokovic tennis |
| What is the date of birth of the player ranked #3 on 2023-11-20? SELECT T1.dob FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player WHERE T2.rank = 3 AND T2.ranking_date = 20231120; 19960211.0 tennis |
| List the names and countries of all players who have a rank in the top 1. SELECT DISTINCT T1.name, T1.ioc FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player WHERE T2.rank <= 1; Andre Agassi|USA Pete Sampras|USA Marat Safin|RUS Gustavo Kuerten|BRA Lleyton Hewitt|AUS Juan Carlos Ferrero|ESP Andy Roddick|USA Roger Federer|SUI Rafael Nadal|ESP Bjorn Borg|SWE John McEnroe|USA Ivan Lendl|USA Mats Wilander|SWE Jimmy Connors|USA Novak Djokovic|SRB Daniil Medvedev|RUS Carlos Alcaraz|ESP Stefan Edberg|SWE Boris Becker|GER Jim Courier|USA Thomas Muster|AUT Marcelo Rios|CHI Carlos Moya|ESP Yevgeny Kafelnikov|RUS Patrick Rafter|AUS Andy Murray|GBR Ilie Nastase|ROU John Newcombe|AUS tennis |
| What is the date of birth of 'Roger Federer'? SELECT dob FROM players WHERE name = 'Roger Federer'; 19810808.0 tennis |
| Find the name and height of the player with ID 104745. SELECT name, height FROM players WHERE player_id = 104745; Rafael Nadal|185.0 tennis |
| How many matches has 'Novak Djokovic' won? SELECT count(*) FROM matches WHERE winner_name = 'Novak Djokovic'; 1179 tennis |
| How many matches has 'Rafael Nadal' lost? SELECT count(*) FROM matches WHERE loser_name = 'Rafael Nadal'; 255 tennis |
| What is the average age of winners of the 'Australian Open'? SELECT avg(winner_age) FROM matches WHERE tourney_name = 'Australian Open'; 25.6905314807382 tennis |
| What is the average age of losers? SELECT avg(loser_age) FROM matches; 23.6776674381365 tennis |
| Find the name of the player who won the longest match (by minutes). SELECT winner_name FROM matches ORDER BY minutes DESC LIMIT 1; Federico Coria tennis |
| Find the name of the player who won the shortest match. SELECT winner_name FROM matches WHERE minutes IS NOT NULL ORDER BY minutes ASC LIMIT 1; Tim Smyczek tennis |
| List the countries with more than 2000 players. SELECT ioc, count(*) FROM players GROUP BY ioc HAVING count(*) > 50; AUS|3266 BRA|2092 ESP|3026 FRA|2582 GBR|3200 GER|2675 ITA|2656 USA|13102 tennis |
| What is the average height of players grouped by their playing hand? SELECT hand, avg(height) FROM players GROUP BY hand; A|180.25 L|183.606060606061 R|183.806518151815 U|181.035714285714 tennis |
| How many matches has each player won? Show the top 10. SELECT winner_name, count(*) FROM matches GROUP BY winner_name ORDER BY count(*) DESC LIMIT 10; Roger Federer|1305 Jimmy Connors|1279 Novak Djokovic|1179 Rafael Nadal|1167 Ivan Lendl|1075 Guillermo Vilas|953 Ilie Nastase|950 Andre Agassi|887 John McEnroe|886 tennis |
| How many matches has each player lost? Show the top 10. SELECT loser_name, count(*) FROM matches GROUP BY loser_name ORDER BY count(*) DESC LIMIT 10; Feliciano Lopez|627 Paolo Lorenzi|622 Andreas Seppi|577 Teymuraz Gabashvili|575 Andrea Arnaboldi|561 Fernando Verdasco|550 Ruben Ramirez Hidalgo|543 Sergiy Stakhovsky|534 Lukas Rosol|530 tennis |
| Find the date of birth of the player who won the 'US Open' in 2012. SELECT T1.dob FROM players AS T1 JOIN matches AS T2 ON T1.player_id = T2.winner_id WHERE T2.tourney_name = 'US Open' AND T2.round = 'F' AND T2.tourney_date >= 20120000 AND T2.tourney_date < 20130000; 19870515.0 tennis |
| What is the highest rank 'Andy Murray' has ever achieved? SELECT min(T1.rank) FROM rankings AS T1 JOIN players AS T2 ON T1.player = T2.player_id WHERE T2.name = 'Andy Murray'; 1 tennis |
| What are the names and points of all players from 'ITA' ranked in the top 10? WITH RankedData AS ( SELECT T1.name, T2.rank, T2.points, T2.ranking_date, -- 1. Partition the data by player ROW_NUMBER() OVER( PARTITION BY T1.player_id -- 2. Order their ranks from best (1) to worst (50) ORDER BY T2.rank ASC ) AS rn FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player WHERE T1.ioc = 'ITA' AND T2.rank <= 10 ) -- 3. Select only the #1 row (the best rank) for each player SELECT name, rank AS highest_rank, points, ranking_date AS date_of_rank FROM RankedData WHERE rn = 1; Adriano Panatta|6||19760614 Corrado Barazzutti|7||19780821 Fabio Fognini|9|2785.0|20190715 Matteo Berrettini|6|5278.0|20220131 Jannik Sinner|2|8710.0|20240401 tennis |
| How many tournaments were played in 2023? SELECT count(DISTINCT tourney_id) FROM matches WHERE tourney_date >= 20230000 AND tourney_date < 20240000; 909 tennis |
| List all opponents 'Carlos Alcaraz' lost to in 2023. SELECT DISTINCT winner_name FROM matches WHERE loser_name = 'Carlos Alcaraz' AND tourney_date >= 20230000 AND tourney_date < 20240000; Cameron Norrie Jannik Sinner Fabian Marozsan Novak Djokovic Tommy Paul Daniil Medvedev Grigor Dimitrov Roman Safiullin Alexander Zverev tennis |
| How many matches were won by a player older than their opponent? SELECT count(*) FROM matches WHERE winner_age > loser_age; 468479 tennis |
| Find the average age of all doubles winners. SELECT avg(T1.age) FROM (SELECT winner1_age AS age FROM matches WHERE winner1_id IS NOT NULL UNION ALL SELECT winner2_age AS age FROM matches WHERE winner2_id IS NOT NULL) AS T1; 345.696638675076 tennis |
| What is the name of the doubles pair Simon Aspelin and Julian Knowle? SELECT DISTINCT winner1_name, winner2_name FROM matches WHERE (winner1_name = 'Simon Aspelin' AND winner2_name = 'Julian Knowle') OR (winner1_name = 'Julian Knowle' AND winner2_name = 'Simon Aspelin');; Simon Aspelin|Julian Knowle tennis |
| What is the average, min, and max number of points for players? SELECT avg(points), min(points), max(points) FROM rankings; 117.12910941862|1.0|16950.0 tennis |
| How many matches were won by a player who was ranked number 1 at the time of the match? SELECT count(*) FROM matches AS T1 JOIN rankings AS T2 ON T1.winner_id = T2.player AND T1.tourney_date = T2.ranking_date WHERE T2.rank = 1; 2369 tennis |
| What is the average height of players who won a tournament on a hard court (e.g., 'US Open' or 'Australian Open')? SELECT avg(T1.height) FROM players AS T1 JOIN matches AS T2 ON T1.player_id = T2.winner_id WHERE T2.tourney_name IN ('US Open', 'Australian Open'); 184.760615653313 tennis |
| List the names of all players who have lost a match to 'Carlos Alcaraz' and are shorter than him. SELECT DISTINCT T1.name FROM players AS T1 JOIN matches AS T2 ON T1.player_id = T2.winner_id WHERE T2.loser_name = 'Carlos Alcaraz' AND T1.height < T2.loser_ht; Federico Coria Marco Trungelliti Hugo Gaston Mikael Ymer Thiago Monteiro Jaume Munar Zsombor Piros Filip Horansky Lorenzo Giustino Inigo Cervantes Huegun Pedro Sousa Frederico Ferreira Silva David Goffin tennis |
| Find the player with the most points who is left-handed. SELECT T1.name FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player WHERE T1.hand = 'L' ORDER BY T2.points DESC LIMIT 1; Rafael Nadal tennis |
| What is the name of the oldest player to win a match in 2023? SELECT winner_name FROM matches WHERE tourney_date >= 20230000 AND tourney_date < 20240000 ORDER BY winner_age DESC LIMIT 1; Tom Brown tennis |
| How many matches were played where both the winner and loser were from the same country? SELECT count(*) FROM matches WHERE winner_ioc = loser_ioc; 185838 tennis |
| List all players from 'FRA' who were ranked in the top 50 on '2023-01-02'. SELECT T1.name FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player WHERE T1.ioc = 'FRA' AND T2.rank <= 50 AND T2.ranking_date = 20230102; Adrian Mannarino Arthur Rinderknech tennis |
| What is the average number of points for players from 'USA' vs 'CAN'? SELECT T1.ioc, avg(T2.points) FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player WHERE T1.ioc IN ('USA', 'CAN') GROUP BY T1.ioc; CAN|137.325744104014 USA|132.369032395567 tennis |
| Find all players who have a higher rank than 'Rafael Nadal' on '2023-05-29'. SELECT T1.name FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player WHERE T2.ranking_date = 20230529 AND T2.rank < (SELECT rank FROM rankings AS T3 JOIN players AS T4 ON T3.player = T4.player_id WHERE T4.name = 'Rafael Nadal' AND T3.ranking_date = 20230529); Carlos Alcaraz Daniil Medvedev Novak Djokovic Casper Ruud Stefanos Tsitsipas Holger Rune Andrey Rublev Taylor Fritz Jannik Sinner Felix Auger Aliassime Karen Khachanov Frances Tiafoe Cameron Norrie Hubert Hurkacz tennis |
| How many players in the 'players' table have no matches recorded? SELECT count(*) FROM players WHERE player_id NOT IN (SELECT winner_id FROM matches UNION SELECT loser_id FROM matches); 0 tennis |
| What is the name and country of the player who lost the longest match (by minutes)? SELECT T1.name, T1.ioc FROM players AS T1 JOIN matches AS T2 ON T1.player_id = T2.loser_id ORDER BY T2.minutes DESC LIMIT 1; Tomas Lipovsek Puches|ARG tennis |
| List all doubles match winner pairs where both winners were left-handed. SELECT DISTINCT winner1_name, winner2_name FROM matches WHERE winner1_hand = 'L' AND winner2_hand = 'L'; Julian Knowle|Jurgen Melzer Rafael Nadal|Fernando Verdasco Feliciano Lopez|Rafael Nadal Feliciano Lopez|Fernando Verdasco Mariano Hood|Julian Knowle Rick Leach|Brian Macphie Ellis Ferreira|Brian Macphie Stefan Koubek|Jurgen Melzer Chris Haggard|Brian Macphie Donald Johnson|Rick Leach Chris Haggard|Donald Johnson Ellis Ferreira|David Rikl Ellis Ferreira|Rick Leach Juan Ignacio Carrasco|Mariano Hood Rick Leach|David Macpherson Ellis Ferreira|Jeff Tarango Stefan Koubek|Jarkko Nieminen Karsten Braasch|Jeff Tarango Eric Butorac|Jamie Murray Rafael Nadal|Bartolome Salva Vidal Johan Brunstrom|Michael Ryderstedt Wayne Arthurs|Fernando Verdasco Karsten Braasch|Mariusz Fyrstenberg Karsten Braasch|Jurgen Melzer Juan Ignacio Carrasco|Jason Weir Smith Barry Cowan|Irakli Labadze Chris Haggard|Jan Siemerink Ellis Ferreira|Donald Johnson Mose Navarra|Vincenzo Santopadre Sander Groen|Jan Siemerink Wayne Arthurs|Scott Draper Barry Cowan|Mose Navarra Wayne Arthurs|Goran Ivanisevic Patrick Galbraith|Brian Macphie Chris Haggard|Daniel Orsanic Patrick Galbraith|David Macpherson Mariano Puerta|Marcelo Rios Michael Llodra|Diego Nargiso Michael Berrer|Mischa Zverev Chris Haggard|Jurgen Melzer Eric Butorac|James Cerretani Johan Brunstrom|James Cerretani Jurgen Melzer|Andreas Vinciguerra Fernando Verdasco|Mischa Zverev Carsten Ball|Chris Guccione Eric Butorac|Thomaz Bellucci James Cerretani|Dick Norman Jurgen Melzer|Fernando Verdasco Carsten Ball|Andrew Coelho Michael Berrer|Kenneth Carlsen tennis |
| What is the average age of winners in matches that lasted less than 90 minutes? SELECT avg(winner_age) FROM matches WHERE minutes < 90; 25.7141327552797 tennis |
| How many players born in the 1990s are in the database? SELECT count(*) FROM players WHERE dob >= 19900101 AND dob <= 19991231; 14658 tennis |
| What is the most common country ('ioc') for players? SELECT ioc FROM players GROUP BY ioc ORDER BY count(*) DESC LIMIT 1; USA tennis |
| How many matches has 'Carlos Alcaraz' won against left-handed players? SELECT count(*) FROM matches WHERE winner_name = 'Carlos Alcaraz' AND loser_hand = 'L'; 31 tennis |
| Find the name and date of birth of the youngest player to be ranked number 1. SELECT T1.name, T1.dob FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player WHERE T2.rank = 1 ORDER BY T1.dob DESC LIMIT 1; Carlos Alcaraz|20030505.0 tennis |
| What is the average number of points for players who are right-handed vs left-handed? SELECT T1.hand, avg(T2.points) FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player WHERE T1.hand IS NOT NULL GROUP BY T1.hand; A|30.056 L|181.794778139621 R|146.788578611675 U|12.6757269988693 tennis |
| List all tournaments where the winner's age was under 16. SELECT DISTINCT tourney_name FROM matches WHERE winner_age < 16 and round='F'; Spain 7 Masters 4 Spain 3 2 Great Britain F3 Germany F4 Las Vegas CH Croatia F2 tennis |
| What is the win-loss ratio for Jannik Sinner? SELECT SUM(CASE WHEN winner_name = 'Jannik Sinner' THEN 1 ELSE 0 END) * 1.0 / NULLIF(SUM(CASE WHEN loser_name = 'Jannik Sinner' THEN 1 ELSE 0 END), 0) AS win_loss_ratio FROM matches WHERE winner_name = 'Jannik Sinner' OR loser_name = 'Jannik Sinner'; 2.51304347826087 tennis |
| Find all players who have won at least 500 matches and are over 200cm tall. SELECT T1.name FROM players AS T1 JOIN matches AS T2 ON T1.player_id = T2.winner_id WHERE T1.height > 200 GROUP BY T1.name HAVING count(*) >= 500; Ivo Karlovic John Isner Kevin Anderson Marc Rosset tennis |
| What is the name of the player who has the most ranking entries? SELECT T1.name FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player GROUP BY T1.name ORDER BY count(*) DESC LIMIT 1; Feliciano Lopez tennis |
| What is the average rank of all players from 'SRB'? SELECT avg(T1.rank) FROM rankings AS T1 JOIN players AS T2 ON T1.player = T2.player_id WHERE T2.ioc = 'SRB'; 871.267699994322 tennis |
| How many matches were decided in 5 sets? SELECT count(*) FROM matches WHERE score LIKE '%-% %-% %-% %-%'; 30494 tennis |
| What is the average age of players who have been ranked in the top 10? SELECT avg(T1.winner_age) FROM matches AS T1 WHERE T1.winner_id IN ( SELECT DISTINCT T2.player FROM rankings AS T2 WHERE T2.rank <= 10 ); 24.943456266323 tennis |
| List all players whose name starts with 'Z' and are from 'SUI'. SELECT name FROM players WHERE name LIKE 'Z%' AND ioc = 'SUI'; Zigmund Zorny tennis |
| Find the player who has the biggest difference between their highest and lowest rank. SELECT T1.name FROM players AS T1 JOIN rankings AS T2 ON T1.player_id = T2.player GROUP BY T1.name ORDER BY (max(T2.rank) - min(T2.rank)) DESC LIMIT 1; Stefanos Tsitsipas tennis |
| How many matches were won by a player whose name is the same as the loser's name (e.g., in doubles)? SELECT count(*) FROM matches WHERE winner1_name = loser1_name OR winner1_name = loser2_name OR winner2_name = loser1_name OR winner2_name = loser2_name; 68 tennis |
| What is the average number of minutes for matches in the Roland Garros tournament? SELECT avg(minutes) FROM matches WHERE tourney_name = 'Roland Garros'; 138.685630004214 tennis |
| Find all players who are taller than 185cm and are ambidextrous. SELECT name FROM players WHERE height > 185 AND hand = 'A'; Luke Jensen tennis |
| List all matches in 2023 where the winner was from 'ECU' and the match lasted more than 3 hours (180 mins). SELECT tourney_name, winner_name, loser_name FROM matches WHERE winner_ioc = 'ECU' AND minutes > 180 AND tourney_date >= 20230000 AND tourney_date < 20240000; Lima CH|Alvaro Guillen Meza|Ignacio Buse Montevideo CH|Alvaro Guillen Meza|Luciano Darderi Montevideo CH|Alvaro Guillen Meza|Renzo Olivo tennis |
| What is the name of the player who won the most matches as a 'loser' (i.e. was a doubles partner)? SELECT 'N/A'; N/A tennis |
| Find the name and height of the player who won the 'US Open' in 2016. SELECT T1.name, T1.height FROM players AS T1 JOIN matches AS T2 ON T1.player_id = T2.winner_id WHERE T2.tourney_name = 'US Open' AND T2.tourney_date >= 20160000 AND T2.tourney_date < 20170000 AND round='F'; Stan Wawrinka|183.0 tennis |
| What is the total number of points held by all players from Spain on 2024-01-01? SELECT sum(T1.points) FROM rankings AS T1 JOIN players AS T2 ON T1.player = T2.player_id WHERE T2.ioc = 'ESP' AND T1.ranking_date = 20240101; 18971.0 tennis |
| Find all players who have won a match against an opponent more than 50 years older than them. SELECT DISTINCT winner_name FROM matches WHERE winner_age < (loser_age - 50); Jaimee Floyd Angele Ezekiel Clark Tyler Stice Taha Baadi Toby D Boyer Zachary Svajda Sekou Bangoura Dan Martin Govind Nanda Emile Hudd Damien Salvestre Ignacio Monzon Samir Banerjee Karlis Ozolins Ricardo Rodriguez Guy Den Ouden Amador Salazar Andres Andrade Facundo Bermejo tennis |
| How many matches did Novak Djokovic win in 2015? SELECT COUNT(*) FROM matches WHERE winner_name = 'Novak Djokovic' AND tourney_date BETWEEN 20150000 AND 20151231; 83 tennis |
| What is the average height of players from Argentina? SELECT AVG(height) FROM players WHERE ioc = 'ARG'; 181.592920353982 tennis |
| Who won the final of the 2022 Australian Open? SELECT winner_name FROM matches WHERE tourney_name = 'Australian Open' AND tourney_date BETWEEN 20220000 AND 20221231 AND round = 'F'; Rafael Nadal tennis |
| How many left-handed players are ranked in the top 50 on 2016-07-25? SELECT COUNT(DISTINCT p.player_id) FROM players p JOIN rankings r ON p.player_id = r.player WHERE p.hand = 'L' AND r.rank <= 50 AND r.ranking_date = 20160725; 9 tennis |
| What is the highest rank achieved by Jannik Sinner in 2023? SELECT MIN(rank) FROM rankings r JOIN players p ON r.player = p.player_id WHERE p.name = 'Jannik Sinner' AND r.ranking_date BETWEEN 20230000 AND 20231231; 4 tennis |
| List the total points for Carlos Alcaraz on the last recorded ranking date. SELECT Points FROM rankings WHERE player = (SELECT player_id FROM players WHERE name = 'Carlos Alcaraz') ORDER BY ranking_date DESC LIMIT 1; 7300.0 tennis |
| How many matches went to a 5th set in the 2019 Wimbledon tournament? SELECT COUNT(*) FROM matches WHERE tourney_name = 'Wimbledon' AND tourney_date LIKE '2019%' AND best_of = '5' AND score LIKE '%-% %-% %-% %-% %-%'; 21 tennis |
| Which country has the most players born after the year 2000? SELECT ioc, COUNT(*) as cnt FROM players WHERE dob >= 20000101 GROUP BY ioc ORDER BY cnt DESC LIMIT 1; USA|202 tennis |
| What is the average duration (in minutes) of matches won by Rafael Nadal? SELECT AVG(minutes) FROM matches WHERE winner_name = 'Rafael Nadal'; 116.695992179863 tennis |
| Find the name of the player ranked #1 on the date 2010-01-01. SELECT p.name FROM players p JOIN rankings r ON p.player_id = r.player WHERE r.rank = 1 AND r.ranking_date > 20100101 AND r.ranking_date < 20100108; Roger Federer tennis |
| How many finals has Roger Federer lost? SELECT COUNT(*) FROM matches WHERE loser_name = 'Roger Federer' AND round = 'F'; 55 tennis |
| What is the average age of players who reached the final of the US Open in 2006? SELECT AVG(age) FROM (SELECT winner_age as age FROM matches WHERE tourney_name = 'US Open' AND tourney_date LIKE '2006%' AND round = 'F' UNION ALL SELECT loser_age FROM matches WHERE tourney_name = 'US Open' AND tourney_date LIKE '2006%' AND round = 'F') t; 24.45 tennis |
| List the players who have beaten Novak Djokovic more than twice. SELECT winner_name FROM matches WHERE loser_name = 'Novak Djokovic' GROUP BY winner_name HAVING COUNT(*) > 2; Alexander Zverev Andy Murray Andy Roddick Daniil Medvedev David Ferrer Dominic Thiem Fernando Verdasco Jannik Sinner Jo-Wilfried Tsonga Juan Martin del Potro Mikhail Youzhny Olivier Rochus Rafael Nadal Roberto Bautista Agut Roger Federer Stan Wawrinka Tomas Berdych Tommy Haas tennis |
| What is the win rate of right-handed players against left-handed players in 2022? SELECT CAST(SUM(CASE WHEN winner_hand = 'R' AND loser_hand = 'L' THEN 1 ELSE 0 END) AS FLOAT) / SUM(CASE WHEN (winner_hand = 'R' AND loser_hand = 'L') OR (winner_hand = 'L' AND loser_hand = 'R') THEN 1 ELSE 0 END) FROM matches WHERE tourney_date BETWEEN 20220000 AND 20221231; 0.500155811779371 tennis |
| How many different partners did Bob Bryan have in doubles matches? SELECT COUNT(DISTINCT partner) FROM (SELECT winner2_name as partner FROM matches WHERE winner1_name = 'Bob Bryan' UNION SELECT winner1_name FROM matches WHERE winner2_name = 'Bob Bryan' UNION SELECT loser2_name FROM matches WHERE loser1_name = 'Bob Bryan' UNION SELECT loser1_name FROM matches WHERE loser2_name = 'Bob Bryan') t; 1 tennis |
| Who is the shortest player to ever be ranked in the top 10? SELECT p.name, p.height FROM players p JOIN rankings r ON p.player_id = r.player WHERE r.rank <= 10 AND p.height IS NOT NULL ORDER BY p.height ASC LIMIT 1; Harold Solomon|168.0\ tennis |
| What is the total number of ranking points for all USA players combined on 2022-01-01? SELECT SUM(r.Points) FROM rankings r JOIN players p ON r.player = p.player_id WHERE p.ioc = 'USA' AND r.ranking_date > 20220101 and r.ranking_date < 20220108; 25480.0 tennis |
| How many matches in the database were won by a player from Japan? SELECT COUNT(*) FROM matches WHERE winner_ioc = 'JPN'; 18724 tennis |
| Find the date of the match between Federer and Nadal where the score was '6-4 6-4'. SELECT tourney_date FROM matches WHERE (winner_name = 'Roger Federer' AND loser_name = 'Rafael Nadal' OR winner_name = 'Rafael Nadal' AND loser_name = 'Roger Federer') AND score = '6-4 6-4'; 20090510.0 20070415.0 tennis |
| What is the average ranking of the opponent defeated by Carlos Alcaraz in 2023? SELECT AVG(r.rank) FROM matches m JOIN rankings r ON m.loser_id = r.player AND m.tourney_date = r.ranking_date WHERE m.winner_name = 'Carlos Alcaraz' AND m.tourney_date BETWEEN 20230000 AND 20231231; 62.1290322580645 tennis |
| Who has the most wins in the 'Miami Masters' tournament? SELECT winner_name, COUNT(*) as wins FROM matches WHERE tourney_name = 'Miami Masters' AND winner_name IS NOT NULL GROUP BY winner_name ORDER BY wins DESC LIMIT 1; Andre Agassi|60 tennis |
| How many players have a recorded height over 210cm? SELECT COUNT(*) FROM players WHERE height > 210; 1 tennis |
| List the tourney_name of all tournaments won by Andy Murray in 2016. SELECT DISTINCT tourney_name FROM matches WHERE winner_name = 'Andy Murray' AND round = 'F' AND tourney_date BETWEEN 20160000 AND 20161231; Rome Masters Queen's Club Wimbledon Rio Olympics Beijing Shanghai Masters Vienna Paris Masters Tour Finals tennis |
| What is the average age difference in matches won by the younger player? SELECT AVG(loser_age - winner_age) FROM matches WHERE winner_age < loser_age; 4.00363596060453 tennis |
| How many matches did Daniil Medvedev win on hard courts (implied by US Open/Australian Open)? SELECT COUNT(*) FROM matches WHERE winner_name = 'Daniil Medvedev' AND tourney_name IN ('US Open', 'Australian Open'); 35 tennis |
| Which player had the most ranking points on 2021-12-27? SELECT p.name FROM rankings r JOIN players p ON r.player = p.player_id WHERE r.ranking_date = 20211227 ORDER BY r.Points DESC LIMIT 1; Novak Djokovic tennis |
| How many tie-breaks (7-6 or 6-7) occurred in the 2018 US Open final? SELECT (LENGTH(score) - LENGTH(REPLACE(score, '7-6', ''))) / 3 + (LENGTH(score) - LENGTH(REPLACE(score, '6-7', ''))) / 3 FROM matches WHERE tourney_name = 'US Open' AND tourney_date LIKE '2018%' AND round = 'F'; 1 tennis |
| What is the lowest rank a player has held while winning a match in a Grand Slam (US/Aus/French/Wimbledon)? SELECT MAX(r.rank) FROM matches m JOIN rankings r ON m.winner_id = r.player AND m.tourney_date = r.ranking_date WHERE m.tourney_name IN ('US Open', 'Australian Open', 'Roland Garros', 'Wimbledon'); 1917 tennis |
| How many matches were played between two players from the same country in 2023? SELECT COUNT(*) FROM matches WHERE winner_ioc = loser_ioc AND tourney_date BETWEEN 20230000 AND 20231231; 5374 tennis |
| Find the name of the player with the most losses in 2022. SELECT loser_name, COUNT(*) as losses FROM matches WHERE tourney_date BETWEEN 20220000 AND 20221231 GROUP BY loser_name ORDER BY losses DESC LIMIT 1; Matthew Dellavedova|39 tennis |
| What is the average height of winners in the Wimbledon final over all years? SELECT AVG(winner_ht) FROM matches WHERE tourney_name = 'Wimbledon' AND round = 'F'; 184.229508196721 tennis |
| How many players from France are in the database? SELECT COUNT(*) FROM players WHERE ioc = 'FRA'; 2582 tennis |
| Who was the opponent in the match where Novak Djokovic won in the shortest amount of time? SELECT loser_name FROM matches WHERE winner_name = 'Novak Djokovic' AND minutes IS NOT NULL ORDER BY minutes ASC LIMIT 1; Gael Monfils tennis |
| How many matches did players under 18 win in 2020? SELECT COUNT(*) FROM matches WHERE winner_age < 18 AND tourney_date BETWEEN 20200000 AND 20201231; 210 tennis |
| What is the most common Best of format for matches in the database? SELECT best_of FROM matches GROUP BY best_of ORDER BY COUNT(*) DESC LIMIT 1; 3 tennis |
| Retrieve the DOB of the player 'Holger Rune'. SELECT dob FROM players WHERE name = 'Holger Rune'; 20030429.0 tennis |
| How many doubles matches were won by the team of Mike Bryan and Bob Bryan? SELECT COUNT(*) FROM matches WHERE (winner1_name = 'Mike Bryan' AND winner2_name = 'Bob Bryan') OR (winner1_name = 'Bob Bryan' AND winner2_name = 'Mike Bryan'); 553 tennis |
| List the names of players who have been ranked #1 for at least one week in 2023. SELECT DISTINCT p.name FROM rankings r JOIN players p ON r.player = p.player_id WHERE r.rank = 1 AND r.ranking_date BETWEEN 20230000 AND 20231231; Carlos Alcaraz Novak Djokovic tennis |
| What is the sum of ranking points for the top 10 players on 2024-01-01? SELECT SUM(Points) FROM rankings WHERE rank <= 10 AND ranking_date = 20240101; 57220.0 tennis |
| How many players have 'Tennis' in their name? SELECT COUNT(*) FROM players WHERE name LIKE '%Tennis%'; 0 tennis |
| What was the score of the final match at Indian Wells in 2018? SELECT score FROM matches WHERE tourney_name = 'Indian Wells Masters' AND tourney_date LIKE '2018%' AND round = 'F'; 6-4 6-7(8) 7-6(2) tennis |
| How many matches has Alexander Zverev won against top 10 opponents? SELECT COUNT(*) FROM matches m JOIN rankings r ON m.loser_id = r.player AND m.tourney_date = r.ranking_date WHERE m.winner_name = 'Alexander Zverev' AND r.rank <= 10; 47 tennis |
| Find the country with the highest average player height. SELECT ioc FROM players GROUP BY ioc HAVING COUNT(*) > 5 ORDER BY AVG(height) DESC LIMIT 1; YUG tennis |
| Who won the longest match recorded in the 2021 season? SELECT winner_name FROM matches WHERE tourney_date BETWEEN 20210000 AND 20211231 ORDER BY minutes DESC LIMIT 1; Jozef Kovalik tennis |
| How many times did matches result in a retirement? SELECT COUNT(*) FROM matches WHERE score LIKE '%RET%'; 27840 tennis |
| What is the average age of players named 'David'? SELECT AVG(2024 - (dob/10000)) FROM players WHERE name LIKE 'David %'; 42.7836746478873 tennis |
| How many unique tournaments were held in the year 2019? SELECT COUNT(DISTINCT tourney_name) FROM matches WHERE tourney_date BETWEEN 20190000 AND 20191231; 591 tennis |
| Who is the youngest player to win a match in the US Open? SELECT winner_name FROM matches WHERE tourney_name = 'US Open' AND winner_age IS NOT NULL ORDER BY winner_age ASC LIMIT 1; Wallace Ford Johnson tennis |
| List the players who have never had a rank better (lower) than 100. SELECT p.name FROM players p JOIN rankings r ON p.player_id = r.player GROUP BY p.player_id HAVING MIN(r.rank) > 100 LIMIT 10; Gardnar Mulloy Pancho Segura Frank Sedgman Giuseppe Merlo Richard Gonzalez Grant Golden Abe Segal Kurt Nielsen Istvan Gulyas Luis Ayala tennis |
| How many matches did Italy (ITA) win against Spain (ESP) in 2023? SELECT COUNT(*) FROM matches WHERE winner_ioc = 'ITA' AND loser_ioc = 'ESP' AND tourney_date BETWEEN 20230000 AND 20231231; 117 tennis |
| What is the rank of the player 'Casper Ruud' on 2023-09-11? SELECT rank FROM rankings r JOIN players p ON r.player = p.player_id WHERE p.name = 'Casper Ruud' AND r.ranking_date = 20230911; 9 tennis |
| How many players have a height recorded as exactly 185 cm? SELECT COUNT(*) FROM players WHERE height = 185; 424 tennis |
| Which tournament had the most matches played in 2022? SELECT tourney_name FROM matches WHERE tourney_date BETWEEN 20220000 AND 20221231 GROUP BY tourney_name ORDER BY COUNT(*) DESC LIMIT 1; M15 Monastir tennis |
| What is the aggregate height of the doubles team 'Bryan/Bryan' (Bob and Mike)? SELECT SUM(height) FROM players WHERE name IN ('Bob Bryan', 'Mike Bryan'); 383.0 tennis |
| How many matches were won by a player who lost the first set? SELECT COUNT(*) FROM matches WHERE score LIKE '0-6%' OR score LIKE '1-6%' OR score LIKE '2-6%' OR score LIKE '3-6%' OR score LIKE '4-6%' OR score LIKE '5-6%' OR score LIKE '6-7%'; 138823 tennis |
| Find the name of the player who has played the most matches in the database (win or lose). SELECT name FROM (SELECT winner_name as name FROM matches UNION ALL SELECT loser_name FROM matches) t WHERE name IS NOT NULL GROUP BY name ORDER BY COUNT(*) DESC LIMIT 1; Roger Federer tennis |
| What is the average rank of winners in the Roland Garros tournament? SELECT AVG(r.rank) FROM matches m JOIN rankings r ON m.winner_id = r.player AND m.tourney_date = r.ranking_date WHERE m.tourney_name = 'Roland Garros'; 91.8841528594335 tennis |
| How many players were born in 1995? SELECT COUNT(*) FROM players WHERE dob BETWEEN 19950101 AND 19951231; 1781 tennis |
| Who has the highest win count in matches lasting over 200 minutes? SELECT winner_name, COUNT(*) as wins FROM matches WHERE minutes > 200 GROUP BY winner_name ORDER BY wins DESC LIMIT 1; Novak Djokovic|63 tennis |
| What is the name of the oldest match winner in the database who is from the USA? SELECT winner_name FROM matches WHERE winner_ioc = 'USA' ORDER BY winner_age DESC LIMIT 1; Tom Brown tennis |
| What is the average number of games played in matches won by Roger Federer? SELECT AVG(minutes) FROM matches WHERE winner_name = 'Roger Federer'; 96.8959587274291 tennis |
| How many distinct countries have had a player ranked in the top 1? SELECT COUNT(DISTINCT p.ioc) FROM rankings r JOIN players p ON r.player = p.player_id WHERE r.rank = 1; 13 tennis |
| How many matches did winner have height > 200 and loser height < 170? SELECT COUNT(*) FROM matches WHERE winner_ht > 200 AND loser_ht < 170; 25 tennis |
| Find the year with the most matches played. SELECT CAST(tourney_date/10000 AS INT) as year, COUNT(*) as cnt FROM matches GROUP BY year ORDER BY cnt DESC LIMIT 1; 2016|32640 tennis |
| What is the average rank of players named 'John'? SELECT AVG(r.rank) FROM rankings r JOIN players p ON r.player = p.player_id WHERE p.name LIKE 'John %'; 575.942671051783 tennis |
| How many finals were played between Nadal and Djokovic? SELECT COUNT(*) FROM matches WHERE ((winner_name = 'Rafael Nadal' AND loser_name = 'Novak Djokovic') OR (winner_name = 'Novak Djokovic' AND loser_name = 'Rafael Nadal')) AND round = 'F'; 29 tennis |
| What percentage of matches in 2023 were best of 3 sets? SELECT CAST(SUM(CASE WHEN best_of = '3' THEN 1 ELSE 0 END) AS FLOAT) / COUNT(*) * 100 FROM matches WHERE tourney_date BETWEEN 20230000 AND 20231231; 98.2765787370104 tennis |
| Who is the youngest player currently in the top 100 (based on latest ranking date)? SELECT p.name FROM players p JOIN rankings r ON p.player_id = r.player WHERE r.ranking_date = (SELECT MAX(ranking_date) FROM rankings) AND r.rank <= 100 ORDER BY p.dob DESC LIMIT 1; Jakub Mensik tennis |
| How many matches did 'Nick Kyrgios' win in Australia? SELECT COUNT(*) FROM matches WHERE winner_name = 'Nick Kyrgios' AND (tourney_name LIKE 'Australian%' OR tourney_name IN ('Brisbane', 'Sydney', 'Adelaide')); 22 tennis |
| What is the average points of players ranked exactly 50? SELECT AVG(Points) FROM rankings WHERE rank = 50; 831.880733944954 tennis |
| How many players have the same birthday as Rafael Nadal? SELECT COUNT(*) FROM players WHERE dob = (SELECT dob FROM players WHERE name = 'Rafael Nadal') AND name != 'Rafael Nadal'; 4 tennis |
| Who won the most matches on the tour in 2011? SELECT winner_name FROM matches WHERE tourney_date BETWEEN 20110000 AND 20111231 GROUP BY winner_name ORDER BY COUNT(*) DESC LIMIT 1; Novak Djokovic tennis |
| What is the name of the player with ID 100001? SELECT name FROM players WHERE player_id = 100001; Gardnar Mulloy tennis |
| How many matches have incomplete scores? SELECT COUNT(*) FROM matches WHERE score IS NULL; 1338 tennis |