SQL:
SELECT
					  st.state_name AS 'Location',
					  COUNT(DISTINCT(oh.outfitterid)) AS '#_of_Outfitters', 
					  COUNT(*) AS '#_of_Hunts', 
					  ROUND((AVG(oh.hunt_minprice) + AVG(oh.hunt_maxprice)) / 2) AS 'Average_Cost', 
					  oh.hunt_state AS 'state_id'
					FROM species sp
					  JOIN outfitters_hunts as oh ON sp.id = oh.hunt_species
					  JOIN outfitters as of ON oh.outfitterid = of.id
					  JOIN states AS st ON st.id = oh.hunt_state 
					WHERE sp.id = 8 
					  AND oh.hunt_weapon = 1 
					  AND oh.enabled = 1 
					  AND of.enabled = 1
					GROUP BY st.id 
					ORDER BY 2 DESC 
					LIMIT 10