ได้รับคำถามมาจาก ร.พ. แห่งหนึ่งครับ "อยากทราบโรค 5 อันดับแรกของการ re-admit 28 วัน"
ผมเอา SQL ของท่าน Nuttavut มาปรับเป็นดังนี้ครับ
select tempx1.pdx, tempx1.name, tempx1.cases
from
(select pdx, name, count(pdx) as cases
from
(select b.pdx, i.name
from an_stat a
left outer join an_stat b on a.hn=b.hn and a.pdx=b.pdx and a.an>b.an
left outer join icd101 i on i.code=a.pdx
left outer join ipt ip on ip.an=a.an
where (a.dchdate between "2011-01-01" and "2011-03-31" ) and a.lastvisit <= "28"
and ((to_days(a.regdate))-(to_days(b.dchdate)))<="28"
and a.pdx is not null and a.pdx<>"" and a.pdx not like "Z%") as temp
group by pdx
order by cases desc) as tempx1
join
(select cases, count(cases) as freq from(
select count(pdx) as cases
from
(select b.pdx, i.name
from an_stat a
left outer join an_stat b on a.hn=b.hn and a.pdx=b.pdx and a.an>b.an
left outer join icd101 i on i.code=a.pdx
left outer join ipt ip on ip.an=a.an
where (a.dchdate between "2011-01-01" and "2011-03-31" ) and a.lastvisit <= "28"
and ((to_days(a.regdate))-(to_days(b.dchdate)))<="28"
and a.pdx is not null and a.pdx<>"" and a.pdx not like "Z%") as temp
group by pdx
order by cases desc) as temp2
group by cases
order by cases desc
limit 5) as tempx2
on tempx1.cases =tempx2.cases
ใครลองเอาไปใช้แล้ว มีความเห็นอย่างไร ช่วยบอกหน่อยครับ ผฒจะดูว่าใครเห็นแบบที่ผมต้องการไหม