I’m querying a bunch of cities from a zip-code table. I’d only like to grab results with an unique ‘City’. (Lots of cities have multiple zips.) How could this be done?
$query = sprintf("SELECT `Zip`, `City`, `State`, `Lat`, `Long`,
( 3959 * acos( cos( radians('%s') ) * cos( radians( `Lat` ) ) *
cos( radians( `Long` ) - radians('%s') ) +
sin( radians('%s') ) * sin( radians( `Lat` ) ) ) ) AS distance
FROM Zips HAVING distance < '%s' ORDER BY distance LIMIT 0 , 18",
mysql_real_escape_string($lat),
mysql_real_escape_string($lng),
mysql_real_escape_string($lat),
mysql_real_escape_string($radius));
$result = mysql_query($query, $dbConn);
You are using
HAVINGat a wrong placeWHEREis needed here and useGROUP BYto group result by cityEDIT
You could also try
OR