SELECT m.name AS m_n, m.url AS m_u, p.product_id AS p_id, p.mfg_id AS m_id, p.cat_id AS c_id, p.model AS p_m, p.model2 AS p_m2, p.last_update AS last_date, c.name AS c_n, p.num_rating AS num_rating, IF( o.sample =0, 0, round( avg( ( o.total_score / o.sample ) *10 ) ) ) AS a FROM products p, manufacturers m, categories c, overall_rate o WHERE p.mfg_id = m.mfg_id AND p.cat_id = c.cat_id AND o.product_id = p.product_id AND p.last_update > Date_Sub( NOW( ) , INTERVAL 30 DAY ) GROUP BY o.product_id ORDER BY last_date DESC LIMIT 0 , 30