select a.artist_id,a.artist_file_name, a.name, a.dob, DATE_FORMAT(a.dob, '%M') AS month_name,a.photo, count(b.artist_id) as roses from filmibeat_tel_artists a JOIN birthday_votes b ON a.artist_id=b.artist_id where DATE_ADD(a.dob, INTERVAL YEAR(CURDATE())-YEAR(a.dob) + IF(DAYOFYEAR(CURDATE()) > DAYOFYEAR(a.dob),1,0) YEAR) BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 30 DAY) AND a.is_alive=1 AND DAY(a.dob)>0 group by a.artist_id ORDER BY DATE_FORMAT(a.dob,'%m-%d')