 SELECT village.villno AS 'หมู่'
,village.villname AS 'บ้าน'
,count(distinct visit.pid,visit.pcucodeperson) 'จำนวนคนที่มารับบริการ'
,count(visit.visitno) 'จำนวนครั้งที่มารับบริการทุกประเภท'
,ROUND(COUNT(visit.visitno) / count(distinct visit.pid,visit.pcucodeperson),2) AS 'อัตราการรับบริการ'
FROM visit left join person on visit.pid = person.pid and visit.pcucodeperson = person.pcucodeperson
left join house on person.hcode = house.hcode and person.pcucodeperson = house.pcucode
left join village on house.villcode = village.villcode and house.pcucode = village.pcucode
WHERE visitdate BETWEEN '2013-10-01' AND '2014-09-30'
GROUP BY village.villno;