En principio, ese primer WHERE intenta comparar un determinado valor contra dos valores:
Código MySQL:
Ver original `category_id`,
`category_name`,
`category_icon`,
COUNT(`markers_category_id`) AS total
`category`
LEFT JOIN markers
ON category.category_id
= markers.markers_category_id
markers_category_id,
ROUND(((acos(sin((40.367 * pi()/180)) * sin((markers.markers_lat
*pi()/180))+cos((40.367 * pi()/180)) * cos((markers.markers_lat
*pi()/180)) * cos(((-3.706 - markers.markers_lng
) *pi()/180))))*180/pi())*60*1.1515*1609.344) AS distance
La subconsulta del IN obtiene
dos columnas, una llamada "markers_category_id", y otra "distance".
Eso por lo pronto, pero me parece que no es el único error.