select * from ( SELECT CONCAT( "" , d.demographic_no, "" ) As "Dem#", CONCAT( "eChart" ) AS "eChart" , d.last_name, d.first_name, TIMESTAMPDIFF (YEAR, concat(d.year_of_birth,'-',d.month_of_birth,'-',d.date_of_birth), CURDATE()) as Age, d.email, p.prevention_type, p.prevention_date FROM demographic d INNER JOIN preventions p ON d.demographic_no = p.demographic_no WHERE p.prevention_type = 'RZV' AND p.deleted = '0' AND d.patient_status = "AC" GROUP BY d.demographic_no HAVING COUNT(DISTINCT p.prevention_date) = 1 order by p.prevention_date desc) as t1 where prevention_date < DATE_SUB(CURDATE(), INTERVAL 2 MONTH);