BMS-HOSxP Community
HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: butsanta ที่ พฤษภาคม 19, 2010, 13:10:13 PM
-
รบกวนขอคำแนะนำจากทุกท่านด้วยครับ คือผมต้องการดึงข้อมูล record รองสุดท้ายจะต้องใช้คำสั่งอย่างไรครับ
เช่น มีข้อมูล 5 record 1,2,3,4,5 แต่ผมต้องการดึงข้อมูลลำดับที่ 4 ออกมาจะต้องเขียนคำสั่ง sql ยังไงครับ
-
ใช้ limit เข้ามาช่วยครับ
limit 1 คือ record 1
limit 1,1 คือ record 2
limit 2,1 คือ record 3
limit 3,1 คือ record 4
limit 4,1 คือ record 5
ตามโจทย์ คือ record 4 ก็จะได้เป็น
select *
from patient
order by hn
limit 3,1
ประมานนี้ครับ :) :) :)
-
แต่ในการประยุกต์ใช้งานจริงเราจะ limit ไม่ได้นะครับ เช่น ผมต้องการดึงเอา record รองจาก record สุดท้ายจากตาราง an_stat ครับ เช่น คนไข้ admit จำนวน 5 ครั้ง ผมต้องการดึงรายงานการ re-admit โดยดึงเอาครั้งที่รับบริการก่อนล่าสุด และการรับบริการครั้งล่าสุดครับ
ไม่ทราบจะต้องใช้คำสั่งยังไงครับ
-
ใครมีรายงานที่กองทุนจัดการโรคเรื้อรังต้องการบ้างครับ
ที่มี ข้อมูลเบาหวาน+ความดัน 11 ข้อ และ ความดัน9ข้อ
ขอด้วยทำให้เขาไม่ทัน
-
ถ้าจะเอาข้อมูลรองสุดท้ายก็
order by field DESC
limit 1,1 ก็ได้นะครับ
คือเรียงกลับด้านแล้วเอา Record ที่ 1
อย่าง an_stat เราจะเอา admit ครั้งรองสุดท้ายก็
select * from an_stat
where hn="xxxxxxx"
order by dchdate DESC
limit 1,1
-
ได้แล้วครับ ขอบพระคุณทุกท่านมากครับ แต่รบกวนถามต่ออีกนิดครับ
ถ้าต้องการให้ diag ของ record รองสุดท้าย=diag ของ record สุดท้ายต้องใช้คำสั่งยังไงครับ
รบกวนด้วยนะครับ ผมรู้น้อยจริงๆ
-
ได้แล้วครับ ขอบพระคุณทุกท่านมากครับ แต่รบกวนถามต่ออีกนิดครับ
ถ้าต้องการให้ diag ของ record รองสุดท้าย=diag ของ record สุดท้ายต้องใช้คำสั่งยังไงครับ
รบกวนด้วยนะครับ ผมรู้น้อยจริงๆ
ลองส่ง SQL ที่เขียนไว้โพสขึ้นมาดูครับ พร้อมกับบอกว่าต้องการข้อมูลแบบไหน
รับรองแถวนี้ เทพเพียบ ;D
-
ได้แล้วครับ ขอบพระคุณทุกท่านมากครับ แต่รบกวนถามต่ออีกนิดครับ
ถ้าต้องการให้ diag ของ record รองสุดท้าย=diag ของ record สุดท้ายต้องใช้คำสั่งยังไงครับ
รบกวนด้วยนะครับ ผมรู้น้อยจริงๆ
ไม่รู้ผมเข้าใจโจทย์ถูกอีกหรือเปล่าน่ะครับ
select a.regdate,a.pdx as 'diag record รองสุดท้าย'
,(select a1.pdx from an_stat a1 where a1.hn = a.hn order by a1.regdate desc limit 1) as 'diag record สุดท้าย'
,a.*
from an_stat a
where a.hn = 'xxxxxxx'
order by a.regdate desc
limit 1,1
:) :)
-
ได้แล้วครับ ขอบพระคุณทุกท่านมากครับ แต่รบกวนถามต่ออีกนิดครับ
ถ้าต้องการให้ diag ของ record รองสุดท้าย=diag ของ record สุดท้ายต้องใช้คำสั่งยังไงครับ
รบกวนด้วยนะครับ ผมรู้น้อยจริงๆ
กด Thank เบาๆ ให้พี่ท่านด้วย... ;) ;) :D ;D
-
สิ่งที่ต้องการคือ รายงานการ re-admit ด้วยโรคเดิม ภายใน 7วัน หรือ 28 วันครับ
โดย Diag record รองสุดท้าย จะต้องเป็น diag เดียวกับกับ diag ของ record สุดท้ายจาก an_stat ครับ