SELECT
xc_ads.*, xc_ads_params.value_num AS ad_price, xc_currencies.name_currency, xc_favourites.id AS fav_id
FROM xc_ads
JOIN (
SELECT lat_lng_distance(xc_ads.lat, xc_ads.lng,39.043701171875,-77.474197387695) AS dist, xc_ads.id
FROM xc_ads
LEFT JOIN xc_ads_categories
ON xc_ads_categories.ad_id = xc_ads.id
LEFT JOIN xc_ads_params as param5
ON param5.param_id=5 AND param5.ad_id=xc_ads.id
LEFT JOIN xc_ads_params as param200
ON param200.param_id=200 AND param200.ad_id=xc_ads.id
LEFT JOIN xc_ads_params AS param199
ON param199.param_id = 199
AND param199.ad_id = xc_ads.id
WHERE ((NOT ISNULL(param200.value_num) AND param200.value_num>UNIX_TIMESTAMP() AND param199.value_num<>5687) OR (param199.value_num=5687))
AND xc_ads.status='approved' AND is_deal=1 AND xc_ads.category_id IN (7,21,74,75,76,77,78,276,277,278,22,271,272,273,274,275,23,24,25,27,28,29,31,32,33,34,284,285,286,287,288,289,35,279,280,281,282,283,290,291,294,295,296,297,298,299,292,300,301,302,303,304,293,1) AND xc_ads.lat>38.465284642809 AND xc_ads.lat<39.622117700941 AND xc_ads.lng>-77.923433685988 AND xc_ads.lng<-77.024961089402
HAVING dist< 50
ORDER BY dist, xc_ads.bump_up_date
LIMIT 0,15
) as b
ON b.id = xc_ads.id
LEFT JOIN xc_currencies
ON xc_currencies.ID = xc_ads.currency_id
LEFT JOIN xc_ads_params
ON xc_ads_params.param_id=5 AND xc_ads_params.ad_id=xc_ads.id
LEFT JOIN xc_ads_categories
ON xc_ads_categories.ad_id = xc_ads.id
LEFT JOIN xc_ads_params AS deal_price
ON deal_price.param_id = 171
AND deal_price.ad_id = xc_ads.id
LEFT JOIN xc_favourites
ON xc_favourites.ad_id=xc_ads.id AND xc_favourites.user_id=0 GROUP BY xc_ads.id ORDER BY 1, dist, 1