SELECT
lat_lng_distance(xc_ads.lat, xc_ads.lng,39.043701171875,-77.474197387695) AS dist, xc_ads.id, xc_ads.date_creation, xc_ads.slug, xc_ads.user_id, xc_ads_params.value_num AS ad_price, xc_ads.ad_title, xc_currencies.name_currency, xc_favourites.id AS fav_id, xc_categories.category_name
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 WHERE xc_ads.status='approved' AND NOT IsNull(lat) AND NOT IsNull(lng) AND lat<>0 AND lng<>0
AND (xc_ads.category_id IN (1726) OR xc_ads_categories.category_id IN (1726)) AND xc_ads.lat>37.181958830767 AND xc_ads.lat<40.905443512983 AND xc_ads.lng>-78.920148870175 AND xc_ads.lng<-76.028245905216
HAVING dist< 100
ORDER BY dist, xc_ads.bump_up_date DESC
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_categories
ON xc_categories.id = xc_ads.category_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_favourites
ON xc_favourites.ad_id=xc_ads.id AND xc_favourites.user_id=0
WHERE xc_ads.status='approved' AND xc_ads.is_deal=0 GROUP BY xc_ads.id ORDER BY 1, dist