Database schema:

CREATE TABLE "Country" (
	id INTEGER -- example: ['1', '1729'],
	name TEXT -- example: ['England', 'Belgium'],
	PRIMARY KEY (id), 
	UNIQUE (name)
)


CREATE TABLE "League" (
	id INTEGER -- example: ['1', '1729'],
	country_id INTEGER -- country id, example: ['1', '1729'],
	name TEXT -- example: ['Belgium Jupiler League', 'England Premier League'],
	PRIMARY KEY (id), 
	CONSTRAINT fk_league_country FOREIGN KEY(country_id) REFERENCES country (id),
	UNIQUE (name)
)


CREATE TABLE "Match" (
	id INTEGER -- example: ['4770', '4769'],
	country_id INTEGER -- country id, example: ['1', '1729'],
	league_id INTEGER -- league id, example: ['1', '1729'],
	season TEXT -- example: ['2008/2009', '2009/2010'],
	stage INTEGER -- example: ['1', '10'],
	date TEXT -- example: ['2008-08-16 00:00:00', '2008-08-17 00:00:00'],
	match_api_id INTEGER -- match api id, example: ['483130', '483129'],
	home_team_api_id INTEGER -- home team api id, example: ['10000', '9987'],
	away_team_api_id INTEGER -- away team api id, example: ['9994', '9993'],
	home_team_goal INTEGER -- home team goal, example: ['0', '1'],
	away_team_goal INTEGER -- away team goal, example: ['0', '1'],
	"home_player_X1" INTEGER -- example: ['2', '1'],
	"home_player_X2" INTEGER -- example: ['2', '4'],
	"home_player_X3" INTEGER -- example: ['6', '4'],
	"home_player_X4" INTEGER -- example: ['8', '6'],
	"home_player_X5" INTEGER -- example: ['8', '6'],
	"home_player_X6" INTEGER -- example: ['2', '6'],
	"home_player_X7" INTEGER -- example: ['8', '4'],
	"home_player_X8" INTEGER -- example: ['2', '6'],
	"home_player_X9" INTEGER -- example: ['8', '4'],
	"home_player_X10" INTEGER -- example: ['6', '4'],
	"home_player_X11" INTEGER -- example: ['6', '4'],
	"away_player_X1" INTEGER -- example: ['2', '1'],
	"away_player_X2" INTEGER -- example: ['2', '4'],
	"away_player_X3" INTEGER -- example: ['6', '4'],
	"away_player_X4" INTEGER -- example: ['8', '6'],
	"away_player_X5" INTEGER -- example: ['8', '6'],
	"away_player_X6" INTEGER -- example: ['2', '4'],
	"away_player_X7" INTEGER -- example: ['6', '4'],
	"away_player_X8" INTEGER -- example: ['8', '6'],
	"away_player_X9" INTEGER -- example: ['2', '8'],
	"away_player_X10" INTEGER -- example: ['6', '4'],
	"away_player_X11" INTEGER -- example: ['6', '4'],
	"home_player_Y1" INTEGER -- example: ['1', '3'],
	"home_player_Y2" INTEGER -- example: ['0', '3'],
	"home_player_Y3" INTEGER -- example: ['5', '3'],
	"home_player_Y4" INTEGER -- example: ['5', '3'],
	"home_player_Y5" INTEGER -- example: ['7', '3'],
	"home_player_Y6" INTEGER -- example: ['7', '3'],
	"home_player_Y7" INTEGER -- example: ['7', '6'],
	"home_player_Y8" INTEGER -- example: ['7', '8'],
	"home_player_Y9" INTEGER -- example: ['7', '10'],
	"home_player_Y10" INTEGER -- example: ['7', '10'],
	"home_player_Y11" INTEGER -- example: ['10', '11'],
	"away_player_Y1" INTEGER -- example: ['1', '3'],
	"away_player_Y2" INTEGER -- example: ['3'],
	"away_player_Y3" INTEGER -- example: ['7', '3'],
	"away_player_Y4" INTEGER -- example: ['5', '3'],
	"away_player_Y5" INTEGER -- example: ['7', '3'],
	"away_player_Y6" INTEGER -- example: ['7', '3'],
	"away_player_Y7" INTEGER -- example: ['7', '6'],
	"away_player_Y8" INTEGER -- example: ['7', '8'],
	"away_player_Y9" INTEGER -- example: ['7', '10'],
	"away_player_Y10" INTEGER -- example: ['7', '10'],
	"away_player_Y11" INTEGER -- example: ['10', '11'],
	home_player_1 INTEGER -- example: ['39890', '38327'],
	home_player_2 INTEGER -- example: ['39580', '67950'],
	home_player_3 INTEGER -- example: ['67958', '38788'],
	home_player_4 INTEGER -- example: ['67959', '38312'],
	home_player_5 INTEGER -- example: ['37112', '26235'],
	home_player_6 INTEGER -- example: ['36393', '46004'],
	home_player_7 INTEGER -- example: ['148286', '164732'],
	home_player_8 INTEGER -- example: ['39631', '67898'],
	home_player_9 INTEGER -- example: ['164352', '26916'],
	home_player_10 INTEGER -- example: ['38801', '38423'],
	home_player_11 INTEGER -- example: ['26502', '94289'],
	away_player_1 INTEGER -- example: ['34480', '37937'],
	away_player_2 INTEGER -- example: ['38388', '38293'],
	away_player_3 INTEGER -- example: ['148313', '26458'],
	away_player_4 INTEGER -- example: ['13423', '104411'],
	away_player_5 INTEGER -- example: ['38389', '148314'],
	away_player_6 INTEGER -- example: ['38798', '37202'],
	away_player_7 INTEGER -- example: ['43158', '30949'],
	away_player_8 INTEGER -- example: ['9307', '38253'],
	away_player_9 INTEGER -- example: ['42153', '106013'],
	away_player_10 INTEGER -- example: ['32690', '38383'],
	away_player_11 INTEGER -- example: ['38782', '46552'],
	goal TEXT -- example: ['<goal><value><comment>n</comment><stats><goals>1</'],
	shoton TEXT -- shot on, example: ['<shoton><value><stats><blocked>1</blocked></stats>'],
	shotoff TEXT -- shot off, example: ['<shotoff><value><stats><shotoff>1</shotoff></stats'],
	foulcommit TEXT -- foul commit, example: ['<foulcommit><value><stats><foulscommitted>1</fouls'],
	card TEXT -- example: ['<card />', '<card><value><comment>y</comment><stats><ycards>1<'],
	"cross" TEXT -- example: ['<cross><value><stats><crosses>1</crosses></stats><'],
	corner TEXT -- example: ['<corner><value><stats><corners>1</corners></stats>'],
	possession TEXT -- example: ['<possession><value><comment>65</comment><event_inc', '<possession><value><comment>56</comment><event_inc'],
	"B365H" REAL -- example: ['1.95', '1.73'],
	"B365D" REAL -- example: ['3.2', '3.4'],
	"B365A" REAL -- example: ['5.0', '3.6'],
	"BWH" REAL -- example: ['1.8', '1.75'],
	"BWD" REAL -- example: ['3.3', '3.35'],
	"BWA" REAL -- example: ['4.2', '3.95'],
	"IWH" REAL -- example: ['1.9', '1.85'],
	"IWD" REAL -- example: ['3.2', '3.1'],
	"IWA" REAL -- example: ['2.3', '3.5'],
	"LBH" REAL -- example: ['1.8', '1.9'],
	"LBD" REAL -- example: ['3.3', '3.2'],
	"LBA" REAL -- example: ['3.75', '3.5'],
	"PSH" REAL -- example: ['5.1', '2.48'],
	"PSD" REAL -- example: ['3.52', '3.82'],
	"PSA" REAL -- example: ['2.96', '1.76'],
	"WHH" REAL -- example: ['1.83', '1.7'],
	"WHD" REAL -- example: ['3.3', '3.25'],
	"WHA" REAL -- example: ['4.33', '3.6'],
	"SJH" REAL -- example: ['1.95', '1.9'],
	"SJD" REAL -- example: ['3.3', '4.0'],
	"SJA" REAL -- example: ['3.8', '4.0'],
	"VCH" REAL -- example: ['2.0', '1.65'],
	"VCD" REAL -- example: ['3.25', '3.4'],
	"VCA" REAL -- example: ['4.5', '3.25'],
	"GBH" REAL -- example: ['1.85', '1.78'],
	"GBD" REAL -- example: ['3.2', '3.25'],
	"GBA" REAL -- example: ['4.0', '3.75'],
	"BSH" REAL -- example: ['1.91', '1.73'],
	"BSD" REAL -- example: ['3.25', '3.4'],
	"BSA" REAL -- example: ['4.2', '3.6'],
	PRIMARY KEY (id), 
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_11) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_10) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_9) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_8) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_7) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_6) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_5) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_4) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_3) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_2) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(away_player_1) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_11) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_10) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_9) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_8) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_7) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_6) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_5) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_4) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_3) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_2) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_player FOREIGN KEY(home_player_1) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_match_team FOREIGN KEY(away_team_api_id) REFERENCES "Team" (team_api_id),
	CONSTRAINT fk_match_team FOREIGN KEY(home_team_api_id) REFERENCES "Team" (team_api_id),
	CONSTRAINT fk_match_league FOREIGN KEY(league_id) REFERENCES "League" (id),
	CONSTRAINT fk_match_country FOREIGN KEY(country_id) REFERENCES "Country" (id)
)


CREATE TABLE "Player" (
	id INTEGER -- example: ['3879', '401'],
	player_api_id INTEGER -- player api id, example: ['2752', '2625'],
	player_name TEXT -- player name, example: ['Aaron Appindangoye', 'Aaron Cresswell'],
	player_fifa_api_id INTEGER -- player federation international football association api id, example: ['2', '6'],
	birthday TEXT -- example: ['1989-12-15 00:00:00', '1992-02-29 00:00:00'],
	height INTEGER -- example: ['182.88', '170.18'],
	weight INTEGER -- example: ['187', '146'],
	PRIMARY KEY (id), 
	UNIQUE (player_api_id), 
	UNIQUE (player_fifa_api_id)
)


CREATE TABLE "Player_Attributes" (
	id INTEGER -- example: ['2', '1'],
	player_fifa_api_id INTEGER -- player federation international football association api id, example: ['218353', '189615'],
	player_api_id INTEGER -- player api id, example: ['505942', '155782'],
	date TEXT -- example: ['2015-11-19 00:00:00', '2016-02-18 00:00:00'],
	overall_rating INTEGER -- example: ['62', '67'],
	potential INTEGER -- example: ['71', '66'],
	preferred_foot TEXT -- preferred foot, example: ['left', 'right'],
	attacking_work_rate TEXT -- attacking work rate, example: ['medium', 'high'],
	defensive_work_rate TEXT -- example: ['medium', 'high'],
	crossing INTEGER -- example: ['48', '49'],
	finishing INTEGER -- example: ['44', '43'],
	heading_accuracy INTEGER -- heading accuracy, example: ['71', '70'],
	short_passing INTEGER -- short passing, example: ['60', '61'],
	volleys INTEGER -- example: ['44', '43'],
	dribbling INTEGER -- example: ['51', '50'],
	curve INTEGER -- example: ['45', '44'],
	free_kick_accuracy INTEGER -- free kick accuracy, example: ['39', '38'],
	long_passing INTEGER -- long passing, example: ['64', '63'],
	ball_control INTEGER -- ball control, example: ['48', '49'],
	acceleration INTEGER -- example: ['79', '60'],
	sprint_speed INTEGER -- sprint speed, example: ['78', '64'],
	agility INTEGER -- example: ['78', '59'],
	reactions INTEGER -- example: ['47', '46'],
	balance INTEGER -- example: ['65', '90'],
	shot_power INTEGER -- shot power, example: ['54', '55'],
	jumping INTEGER -- example: ['58', '85'],
	stamina INTEGER -- example: ['54', '79'],
	strength INTEGER -- example: ['56', '76'],
	long_shots INTEGER -- long shots, example: ['34', '35'],
	aggression INTEGER -- example: ['71', '63'],
	interceptions INTEGER -- example: ['70', '41'],
	positioning INTEGER -- example: ['45', '44'],
	vision INTEGER -- example: ['54', '53'],
	penalties INTEGER -- example: ['48', '47'],
	marking INTEGER -- example: ['62', '65'],
	standing_tackle INTEGER -- standing tackle, example: ['66', '69'],
	sliding_tackle INTEGER -- sliding tackle, example: ['66', '69'],
	gk_diving INTEGER -- goalkeep diving, example: ['5', '6'],
	gk_handling INTEGER -- goalkeep handling, example: ['11', '10'],
	gk_kicking INTEGER -- goalkeep kicking, example: ['9', '10'],
	gk_positioning INTEGER -- goalkeep positioning, example: ['7', '8'],
	gk_reflexes INTEGER -- goalkeep reflexes, example: ['7', '8'],
	PRIMARY KEY (id), 
	CONSTRAINT fk_player_attributes_player FOREIGN KEY(player_api_id) REFERENCES "Player" (player_api_id),
	CONSTRAINT fk_player_attributes_player FOREIGN KEY(player_fifa_api_id) REFERENCES "Player" (player_fifa_api_id)
)


CREATE TABLE "Team" (
	id INTEGER -- example: ['31446', '1513'],
	team_api_id INTEGER -- team api id, example: ['1773', '1601'],
	team_fifa_api_id INTEGER -- team federation international football association api id, example: ['675', '673'],
	team_long_name TEXT -- team long name, example: ['KRC Genk', 'Beerschot AC'],
	team_short_name TEXT -- team short name, example: ['GEN', 'BAC'],
	PRIMARY KEY (id), 
	UNIQUE (team_api_id)
)


CREATE TABLE "Team_Attributes" (
	id INTEGER -- example: ['2', '1'],
	team_fifa_api_id INTEGER -- team federation international football association api id, example: ['434', '77'],
	team_api_id INTEGER -- team api id, example: ['8485', '9930'],
	date TEXT -- example: ['2010-02-22 00:00:00', '2014-09-19 00:00:00'],
	"buildUpPlaySpeed" INTEGER -- build Up Play Speed, example: ['52', '60'],
	"buildUpPlaySpeedClass" TEXT -- build Up Play Speed Class, example: ['Balanced', 'Fast'],
	"buildUpPlayDribbling" INTEGER -- build Up Play Dribbling, example: ['48', '41'],
	"buildUpPlayDribblingClass" TEXT -- build Up Play Dribbling Class, example: ['Little', 'Normal'],
	"buildUpPlayPassing" INTEGER -- build Up Play Passing, example: ['50', '56'],
	"buildUpPlayPassingClass" TEXT -- build Up Play Passing Class, example: ['Long', 'Mixed'],
	"buildUpPlayPositioningClass" TEXT -- build Up Play Positioning Class, example: ['Free Form', 'Organised'],
	"chanceCreationPassing" INTEGER -- chance Creation Passing, example: ['54', '60'],
	"chanceCreationPassingClass" TEXT -- chance Creation Passing Class, example: ['Normal', 'Risky'],
	"chanceCreationCrossing" INTEGER -- chance Creation Crossing, example: ['65', '63'],
	"chanceCreationCrossingClass" TEXT -- chance Creation Crossing Class, example: ['Lots', 'Normal'],
	"chanceCreationShooting" INTEGER -- chance Creation Shooting, example: ['55', '64'],
	"chanceCreationShootingClass" TEXT -- chance Creation Shooting Class, example: ['Lots', 'Normal'],
	"chanceCreationPositioningClass" TEXT -- chance Creation Positioning Class, example: ['Free Form', 'Organised'],
	"defencePressure" INTEGER -- defence Pressure, example: ['50', '47'],
	"defencePressureClass" TEXT -- defence Pressure Class, example: ['Deep', 'Medium'],
	"defenceAggression" INTEGER -- defence Aggression, example: ['55', '44'],
	"defenceAggressionClass" TEXT -- defence Aggression Class, example: ['Double', 'Press'],
	"defenceTeamWidth" INTEGER -- defence Team Width, example: ['54', '45'],
	"defenceTeamWidthClass" TEXT -- defence Team Width Class, example: ['Wide', 'Normal'],
	"defenceDefenderLineClass" TEXT -- defence Defender Line Class, example: ['Cover', 'Offside Trap'],
	PRIMARY KEY (id), 
	CONSTRAINT fk_team_attributes_team FOREIGN KEY(team_api_id) REFERENCES "Team" (team_api_id),
	CONSTRAINT fk_team_attributes_team FOREIGN KEY(team_fifa_api_id) REFERENCES "Team" (team_fifa_api_id)
)


CREATE TABLE country (
	id INTEGER -- example: ['1', '1729'],
	name TEXT -- example: ['England', 'Belgium']
)

Question: List the top 10 players' names whose heights are above 180 in descending order of average heading accuracy.
Evidence: heights are above 180 refers to Player.height > 180; average heading accuracy = DIVIDE(SUM(heading_accuracy), COUNT(player_fifa_api_id));

SQL:
SELECT t1.player_name FROM Player AS t1 INNER JOIN Player_Attributes AS t2 ON t1.player_api_id = t2.player_api_id WHERE t1.height > 180 GROUP BY t1.id ORDER BY CAST(SUM(t2.heading_accuracy) AS REAL) / COUNT(t2.`player_fifa_api_id`) DESC LIMIT 10