mengapa Anda menggunakan HAVING ...karena fakta bahwa kueri Anda tidak menggunakan fungsi agregat sehingga Anda dapat memfilter menggunakan di mana (tetapi di mana tidak menggunakan Anda harus mengulangi kodenya) dan untuk kinerja menggunakan di mana menghindari pemindaian penuh untuk reaise hasil evaluasi
$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");