utenti con distanza inferiore a $distance

SELECT a.zip_code, a.latitude, a.longitude, COUNT(g.id) AS game_count,
( 3959 * acos( cos( radians($this->latitude) )
* cos( radians( a.latitude ) ) *
cos( radians( a.longitude ) - radians($longitude) ) +
sin( radians($latitude) ) *
sin( radians( a.latitude ) ) ) ) AS distance
FROM accounts a
LEFT JOIN games_to_accounts ga
ON a.id = ga.account_id
LEFT JOIN games g ON ga.game_id = g.id
WHERE ga.status_id = $status
GROUP BY a.zip_code HAVING distance < $distance
ORDER BY distance