ผู้เขียน หัวข้อ: ทำไมยอดรวม 2 คำสั่งนี้ถึงไม่เท่ากันครับ  (อ่าน 6391 ครั้ง)

0 สมาชิก และ 2 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
ทำไมยอดรวม 2 คำสั่งนี้ถึงไม่เท่ากันครับ
« เมื่อ: พฤศจิกายน 25, 2013, 10:29:02 AM »
0
ทำไมยอดรวม 2 คำสั่งนี้ถึงไม่เท่ากันครับ
1.ได้จำนวน 128,953
select count(*) from vn_stat where vstdate between "2012-10-01" and "2013-09-30"

2.ได้จำนวนรวม 126,914
select o.main_dep,k.department,count(o.main_dep) as count_main_dep
from vn_stat v
left outer join ovst o on o.vn=v.vn
left outer join kskdepartment k on k.depcode=o.main_dep
where v.vstdate between "2012-10-01" and "2013-09-30"
group by o.main_dep

ต่างกันตั้ง 2,039


โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

Re: ทำไมยอดรวม 2 คำสั่งนี้ถึงไม่เท่ากันครับ
« ตอบกลับ #1 เมื่อ: พฤศจิกายน 25, 2013, 10:50:08 AM »
0
ทำไมยอดรวม 2 คำสั่งนี้ถึงไม่เท่ากันครับ
1.ได้จำนวน 128,953
select count(*) from vn_stat where vstdate between "2012-10-01" and "2013-09-30"

2.ได้จำนวนรวม 126,914
select o.main_dep,k.department,count(o.main_dep) as count_main_dep
from vn_stat v
left outer join ovst o on o.vn=v.vn
left outer join kskdepartment k on k.depcode=o.main_dep
where v.vstdate between "2012-10-01" and "2013-09-30"
group by o.main_dep

ต่างกันตั้ง 2,039



น่าจะมีข้อมูลว่างใน o.main_dep
"สิ่งหนึ่งสิ่งใดเกิดขึ้นเป็นธรรมดา สิ่งนั้นทั้งปวงย่อมดับไปเป็นธรรมดา"
ขึ้นระบบ ต.ค 49  โดย : ทีม BMS
SERVER1>>>IBM  Xeon Xseries236 ram 8 G.
LINUX>>>Centos 5.0
HOsXP>>>3.54.1.14b
MySQL>>>mysql 5.1.30
SERVER2>>>HP Proliant ML150 ram 4 G.
windows2003 server

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
Re: ทำไมยอดรวม 2 คำสั่งนี้ถึงไม่เท่ากันครับ
« ตอบกลับ #2 เมื่อ: พฤศจิกายน 26, 2013, 15:02:48 PM »
0
 ;D ;D
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ ตัวเล็ก....แต่เล้าส์ใจ....

  • Full Member
  • ***
  • กระทู้: 210
  • Respect: +1
    • ดูรายละเอียด
Re: ทำไมยอดรวม 2 คำสั่งนี้ถึงไม่เท่ากันครับ
« ตอบกลับ #3 เมื่อ: พฤศจิกายน 26, 2013, 21:54:32 PM »
0
;D ;D

 ??? ??? ลอง count ตรงๆจาก จาก vn_stat โดยไม่ต้องจอยกะตาราง ovst  และ group by o.main_dep ดูซิครับว่า ผลเป็นยังงัยครับ   ???
สิ่งที่เห็น  อาจจะไม่ใช่ สิ่งที่ใช่ อาจจะไม่เห็น
ขึ้นระบบ ปี 2549  โดยทีม BMS
SERVER1>>>IBM  x2500 M3  ram 10 G.
LINUX>>>Centos 5.0

ออฟไลน์ C H O K E

  • Full Member
  • ***
  • กระทู้: 203
  • Respect: +1
    • ดูรายละเอียด
    • โรงพยาบาลอุทัยธานี
Re: ทำไมยอดรวม 2 คำสั่งนี้ถึงไม่เท่ากันครับ
« ตอบกลับ #4 เมื่อ: พฤศจิกายน 27, 2013, 15:58:23 PM »
0
เปลี่ยนจาก count(o.main_dep) เป็น  count(o.vn) ซิครับ
จะได้เห็นว่าที่ไม่มี main_dep มีแยอะแค่ไหน
Uthaithani Hospital  อ.เมือง จ.อุทัยธานี
( ขึ้นระบบ 1 ตุลาคม 2553 )

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
Re: ทำไมยอดรวม 2 คำสั่งนี้ถึงไม่เท่ากันครับ
« ตอบกลับ #5 เมื่อ: พฤศจิกายน 28, 2013, 13:28:20 PM »
0
เปลี่ยนจาก count(o.main_dep) เป็น  count(o.vn) ซิครับ
จะได้เห็นว่าที่ไม่มี main_dep มีแยอะแค่ไหน
ลองแล้วเยอะจริง ๆ ด้วยครับ ตัวเลข 2 คำสั่งนี้เริ่มเท่ากันแล้วห่างแค่ 3 เนื่องจากมี vn ใน vn_stat แต่ไม่มีใน ovst ครับ  ;D
ขอบคุณครับ  ;D
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,357
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: ทำไมยอดรวม 2 คำสั่งนี้ถึงไม่เท่ากันครับ
« ตอบกลับ #6 เมื่อ: ธันวาคม 10, 2013, 00:35:16 AM »
0
ปกติ main_dep ควรจะมีข้อมูล ไม่ควรเป็นค่าว่าง
อาจจะเกิดจากการลงทะเบียนล่วงหน้าเป็นชุด
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)