ได้แล้วครับ คำนวณอายุจากวันที่ตัดยอดครับผมทีนี้คนไข้ยอดก็จะไม่มาปนกันแล้ว
select count(distinct(p.hn)) from ovstdiag o ,vn_stat v ,patient p
where v.hn=o.hn and o.hn=p.hn
and timestampdiff(year,p.birthday,"2009-10-01")>="15"
and timestampdiff(year,p.birthday,"2009-10-01")<="34"
and o.icd10 between "i10" and "i159"
and o.vstdate<"2009-10-01"