ผู้เขียน หัวข้อ: สอบถามการเขียน sql ครับ  (อ่าน 7804 ครั้ง)

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

mr.yung

  • บุคคลทั่วไป
สอบถามการเขียน sql ครับ
« เมื่อ: พฤษภาคม 31, 2012, 12:08:50 PM »
0
มีคำถามเกี่ยวกับการใช้คำสั่ง mysql ครับ

คือว่าจากคำสั่ง sql ด้านล่างนี้  ผมต้องการหา hn ที่มีการให้ diag โรคคือ Z392 และ Z014  ซึ่งมันก็ได้ผลและแสดงออกมา  แต่ทีนี้ถ้าผมต้องการจะให้แสดงจำนวนของ hn ที่หาได้หละครับ  ผมหมายถึงการ count hn ที่หาได้อีกทีนึง  เราต้องปรับการเขียน sql อย่างไร  ดังภาพด้านล่าง  ซึ่งได้มา 5 เรคคอร์ด

select hn, count(hn) as cou from ovstdiag
where icd10 in("Z392", "Z014")
and vstdate between "2012-04-01" and "2012-04-30"
group by hn
having cou>1

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,128
  • Respect: +38
    • ดูรายละเอียด
    • Phanomphrai Hospital
Re: สอบถามการเขียน sql ครับ
« ตอบกลับ #1 เมื่อ: พฤษภาคม 31, 2012, 12:40:44 PM »
0
ใช้ count(distinct hn) ครับ
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด www.phanomphrai.net

ออฟไลน์ surachat1234

  • Newbie
  • *
  • กระทู้: 28
  • Respect: 0
    • ดูรายละเอียด
Re: สอบถามการเขียน sql ครับ
« ตอบกลับ #2 เมื่อ: พฤษภาคม 31, 2012, 12:41:43 PM »
0
ใช่นับ hn ที่หาได้หรือมัย

SELECT count(A.hn)
 from (select hn, count(hn) as cou from ovstdiag
where icd10 in("Z392", "Z014")
and vstdate between "2012-04-01" and "2012-04-30"
group by hn
having cou>1) A
โรงพยาบาลส่งเสริมสุขภาพตำบลหนองกรด ตำบลสระแก้ว จังหวัดกำแพงเพชร
web : http://nongkrod.thaiddns.com
Server : IBM X3100 Intel Xeon Quad-Core  2.66GHz/1333MHz  10Gb. Centos 5.7 64 bit, Percona-Server-server-51-5.1.56 
ขึ้นระบบเมื่อ 1 ธ.ค. 2553 โดยทีมงานไอทีจังหวัดกำแพงเพชรและโรงพยาบาลกำแพงเพชร

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: สอบถามการเขียน sql ครับ
« ตอบกลับ #3 เมื่อ: พฤษภาคม 31, 2012, 12:52:03 PM »
0
มีคำถามเกี่ยวกับการใช้คำสั่ง mysql ครับ

คือว่าจากคำสั่ง sql ด้านล่างนี้  ผมต้องการหา hn ที่มีการให้ diag โรคคือ Z392 และ Z014  ซึ่งมันก็ได้ผลและแสดงออกมา  แต่ทีนี้ถ้าผมต้องการจะให้แสดงจำนวนของ hn ที่หาได้หละครับ  ผมหมายถึงการ count hn ที่หาได้อีกทีนึง  เราต้องปรับการเขียน sql อย่างไร  ดังภาพด้านล่าง  ซึ่งได้มา 5 เรคคอร์ด

select hn, count(hn) as cou,count(distinct hn) as aou from ovstdiag
where icd10 in("Z392", "Z014")
and vstdate between "2012-04-01" and "2012-04-30"
group by hn
having cou>1

Implement  HOSxP  Start 2548 ---> NOW!
Station : 130 Client   V.3 Version  3.67.1.XX
Server  : CENTOS  +MySQL maria 10.x.x

ออฟไลน์ Dear

  • Jr. Member
  • **
  • กระทู้: 81
  • I'm BMS
  • Respect: +4
    • ดูรายละเอียด
Re: สอบถามการเขียน sql ครับ
« ตอบกลับ #4 เมื่อ: พฤษภาคม 31, 2012, 13:13:52 PM »
0
มีคำถามเกี่ยวกับการใช้คำสั่ง mysql ครับ

คือว่าจากคำสั่ง sql ด้านล่างนี้  ผมต้องการหา hn ที่มีการให้ diag โรคคือ Z392 และ Z014  ซึ่งมันก็ได้ผลและแสดงออกมา  แต่ทีนี้ถ้าผมต้องการจะให้แสดงจำนวนของ hn ที่หาได้หละครับ  ผมหมายถึงการ count hn ที่หาได้อีกทีนึง  เราต้องปรับการเขียน sql อย่างไร  ดังภาพด้านล่าง  ซึ่งได้มา 5 เรคคอร์ด

select hn, count(hn) as cou from ovstdiag
where icd10 in("Z392", "Z014")
and vstdate between "2012-04-01" and "2012-04-30"
group by hn
having cou>1

ลองแบบนี้ดูค่ะ  ;) ;)
select count(distinct(o.hn)) as amount_hn
from ovstdiag o,(select hn, count(hn) as cou from ovstdiag
                   where icd10 in("Z392", "Z014") and vstdate between "2012-04-01" and "2012-04-30"
                   group by hn having cou>1 ) as temp
where o.hn=temp.hn
หัทยา ทองคงหาญ (เดียร์)
ฝ่ายฝึกอบรม, บริษัท บางกอก เมดิคอล ซอฟต์แวร์ จำกัด
081-899-5382

mr.yung

  • บุคคลทั่วไป
Re: สอบถามการเขียน sql ครับ
« ตอบกลับ #5 เมื่อ: พฤษภาคม 31, 2012, 13:15:16 PM »
0
ใช่นับ hn ที่หาได้หรือมัย

SELECT count(A.hn)
 from (select hn, count(hn) as cou from ovstdiag
where icd10 in("Z392", "Z014")
and vstdate between "2012-04-01" and "2012-04-30"
group by hn
having cou>1) A


ขอบคุณมากครับ  นี่แหละ ใช่เลย