hvorfor du bruger HAVING ... på grund af det faktum, at din forespørgsel ikke bruger en aggregeret funktion, så du kan filtrere ved at bruge hvor (men hvor du ikke bruger, skal du gentage koden) og for ydeevne ved hjælp af hvor undgå en fuld scanning for at se resultat for at have evaluering
$query = $mysqli->query("SELECT postcode, (
6371 * acos (
cos ( radians('$latitude') )
* cos( radians( lat ) )
* cos( radians( lng ) - radians('$longitude') )
+ sin ( radians('$latitude') )
* sin( radians( lat ) )
)
) AS distance
FROM postcodetabel
WHERE 6371 * acos (
cos ( radians('$latitude') )
* cos( radians( lat ) )
* cos( radians( lng ) - radians('$longitude') )
+ sin ( radians('$latitude') )
* sin( radians( lat ) ) )< 12
ORDER BY distance ASC");