BMS-HOSxP Community
HOSxP => Report Exchange => ข้อความที่เริ่มโดย: autobotz ที่ สิงหาคม 16, 2012, 13:53:57 PM
-
รบกวนทุก ๆ ท่านด้วยนะครับ ผมขอสอบถามตาม รายงานที่แนบมาเลยครับ คือ ....
ติดอย่างเดียวที่จะเรียงลำดับผลรวมจำนวนครั้งที่มารับบริการ จากมากไปหาน้อย จะต้องทำอย่างไรครับ ???
-
รบกวนทุก ๆ ท่านด้วยนะครับ ผมขอสอบถามตาม รายงานที่แนบมาเลยครับ คือ ....
ติดอย่างเดียวที่จะเรียงลำดับผลรวมจำนวนครั้งที่มารับบริการ จากมากไปหาน้อย จะต้องทำอย่างไรครับ ???
select a,b,c,count(d) as cc
form ....
where ....
group by d
order by cc desc
ประมาณนี้ครับ
-
select a,b,c,count(d) as cc
form ....
where ....
group by d
order by cc desc
ประมาณนี้ครับ
ทำแล้วยังเรียงไม่ได้อยู่ดีครับ งง เลย
-
จากการทดลองทำแล้ว ก็ยังเรียงลำดับไม่ได้อยู่ดี ถ้ายังไงรบกวนทุก ๆ ท่านช่วยแนะนำแนวทางแก้ไขด้วยครับ ^^
-
จากการทดลองทำแล้ว ก็ยังเรียงลำดับไม่ได้อยู่ดี ถ้ายังไงรบกวนทุก ๆ ท่านช่วยแนะนำแนวทางแก้ไขด้วยครับ ^^
ก็เรียงได้นะครับ แต่ควรอย่างยิ่งที่จะต้องใส่เงื่อนไขช่วงเวลาไปด้วย
ถ้าฐานข้อมูลใหญ่ๆ จะเอ๋อเร๋อ ได้ครับ
select concat(i.code," ",i.name)as dx_name,count(distinct v.vn)as count_vn,count(distinct v.hn)as count_hn
from vn_stat v
left outer join ovst o on o.vn = v.vn
left outer join icd101 i on i.code = v.pdx
where v.pdx <> "" and v.vstdate between "2012-01-01" and "2012-01-10"
group by i.name
order by count_vn desc
limit 20
-
ก็เรียงได้นะครับ แต่ควรอย่างยิ่งที่จะต้องใส่เงื่อนไขช่วงเวลาไปด้วย
ถ้าฐานข้อมูลใหญ่ๆ จะเอ๋อเร๋อ ได้ครับ
select concat(i.code," ",i.name)as dx_name,count(distinct v.vn)as count_vn,count(distinct v.hn)as count_hn
from vn_stat v
left outer join ovst o on o.vn = v.vn
left outer join icd101 i on i.code = v.pdx
where v.pdx <> "" and v.vstdate between "2012-01-01" and "2012-01-10"
group by i.name
order by count_vn desc
limit 20
ขอบคุณมากครับ ....เดี๋ยวลองดูอีกรอบครับ ...
-
select concat(i.code," ",i.name)as dx_name,count(distinct v.vn)as count_vn,count(distinct v.hn)as count_hn
............
พยายามเขียนให้มีเว้นวรรคจะดีกว่าครับ คือก่อน as เว้นวรรคสักนิดจะดีกว่า
แต่พวก aggregate function เช่น count() ต้องติดกันนะครับ
ส่วน distinct ใช้ได้ 2 กรณี คือ distinct(hn) อันนี้ใช้วงเล็บติดกับ distinct ได้
แต่ count(distinct hn) แบบนี้ไม่ต้องมีวงเล็บ [อาจจะใช้ count(distinc(hn)) ก็ได้ แต่ผมไม่เคยใช้ครับ]