SELECT SQL_CALC_FOUND_ROWS pd158.*, IF(pd158.price>0,1,0) AS flag_price FROM pd158 JOIN crkp LEFT JOIN crkp ON crkp.id = pd158.crkp_id WHERE (pd158.approved=1) AND (pd158.published=1) AND (pd158.brand='153') AND (pd158.crkp_id=crkp.id) GROUP BY pd158.crkp_id ORDER BY flag_price DESC, crkp.edited DESC, crkp.views DESC, pd158.year LIMIT 10