การจัดการข้อมูลขั้นสูง

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การสอบถามข้อมูลด้วยฟังก์ชั่นสำหรับ
Advertisements

System Requirement Collection (2)
โปรแกรม Microsoft Excel มี ความสามารถเด่นในด้านการคำนวณ ซึ่งมี ลักษณะการคำนวณ 2 รูปแบบใหญ่ๆ ได้แก่ การคำนวณด้วยสูตร (Formula) การคำนวณด้วยฟังก์ชันสำเร็จรูป.
CHAPTER 14 Database Management
การใช้งานโปรแกรม SPSS
Entity-Relationship Model E-R Model
การวัดค่ากลาง - ค่าเฉลี่ย
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
Array in PHP บทเรียนเรื่อง การใช้ Array ในภาษา PHP.
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
บทที่ 3 ประเภทของบทและรูปแบบของรายการวิทยุโทรทัศน์
ประเด็นขอความร่วมมือจาก โรงพยาบาล โครงการศึกษาวิจัย เรื่อง ภาระทางสุขภาพที่เกิด จากการทำงาน ฯ.
การใช้งาน Microsoft Excel
Intro Excel 2010 ข้อมูลจาก... ellession1.htm.
ระบบจัดการพนักงาน E-Clocking. E-clocking Application คืออะไร E-clocking ย่อมาจากคำว่า Easy Clocking ก็คือทำงานและ ดูแลข้อมูลการบริหารบันทึกเวลาการทำงานของพนักงานแบบ.
ฟอร์ม From หมายถึง การออกแบบการจัดการข้อมูล โดยจะทำการเชื่อมโยงกับฐานข้อมูลในรูป Table/Ouery เพื่อติดต่อกับผู้ใช้ให้เกิดความ สะดวกในการติดต่อข้อมูล เช่น.
เครื่องมือในการจัดการและ วิเคราะห์ข้อมูล นางสาว ชญานิษฐ์ เพ็ชรรัตน์ มูลนิธิสุขภาพภาคใต้ แผนงานระบบข้อมูลข่าวสารเพื่อความปลอดภัยทางถนน Road Safety Information.
แบบทดสอบ MICROSOFT EXCEL มีข้อมูลในแผ่นงานตั้งแต่แถวที่ 1 ถึงแถว 500 และคอลัมน์ A จนถึงคอลัมน์ M วิธีการเลือกช่วง ข้อมูลวิธีใด อย่างไร ที่อำนวยความสะดวกได้ดีและให้ผลรวดเร็ว.
โปรแกรมคำนวณคะแนน สหกรณ์ ตามเกณฑ์ดีเด่นแห่งชาติ กรมส่งเสริม สหกรณ์ กองพัฒนาสหกรณ์ด้านการเงิน และร้านค้า วิธีการใ ช้
บทที่ 6 การใช้คำสั่ง อ. สุรินทร์ทิพ ศักดิ์ภูวดล สำนักวิชาเทคโนโลยีสารสนเทศและ การสื่อสาร.
การใช้งานระดับจังหวัด โดย กลุ่มพัฒนาระบบสารสนเทศ ศูนย์เทคโนโลยีสารสนเทศและการสื่อสาร สำนักงานปลัดกระทรวง ศึกษาธิการ.
เทคนิคการใช้ Microsoft Excel. 1. การตีตารางในรูปแบบต่าง ๆ 2. การแทรกภาพในตาราง 3. การตกแต่งข้อมูลด้วย Format Cells 4. การคำนวณ บวก ลบ คูณ หาร 5. การย่อ.
การเลือกข้อมูลจาก List การกำหนดเงื่อนไขการป้อนข้อมูลด้วย Data Validation การใส่ Comment / แสดง / แก้ไข / ลบ.
วิธีการใ ช้ โปรแกรมคำนวณคะแนน กลุ่มเกษตรกรดีเด่น กองพัฒนาสหกรณ์ด้าน การเงินและร้านค้า กรมส่งเสริม สหกรณ์
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
ความหมายของ Form หมายถึง การออกแบบการจัดการข้อมูล โดยจะทำการเชื่อมโยงกับฐานข้อมูลในรูป Table/Query เพื่อติดต่อกับผู้ที่ใช้ให้เกิด ความสะดวกในการติดต่อข้อมูล.
Project Management by Gantt Chart & PERT Diagram
ประเภทของคำสั่งของภาษา SQL
อาจารย์อภิพงศ์ ปิงยศ Lab 05 : Microsoft Excel (Part3) พท 260 เทคโนโลยีสารสนเทศและการสื่อสารทางการท่องเที่ยว อาจารย์อภิพงศ์ ปิงยศ.
DBMS (Database Management System)
ภาษา SQL (Structured Query Language)
เกม คณิตคิดเร็ว.
บทที่ 5 การใช้คำสั่ง Select Case , For Next และ Do While
SQL Structured Query Language.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การติดต่อฐานข้อมูลและการแสดงผล
หน่วยการเรียนที่ 6 เรื่อง การจัดการฐานข้อมูลด้วย PHP Function
บทสรุป ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
โครงสร้างข้อมูลและขั้นตอนการชำระฐานข้อมูล เวชระเบียนของหน่วยบริการ ก่อนการเชื่อมโยงข้อมูลด้วยเทคโนโลยี Java Message Service (JMS) สำนักบริหารงานทะเบียน.
Lecture 5 SQL (Structured Query Language)
การติดต่อฐานข้อมูลและการแสดงผล
SQL (Structured Query Language)
การจัดการระบบฐานข้อมูล ภาษาที่ใช้ในระบบจัดการฐานข้อมูล
BC320 Introduction to Computer Programming
START INPUT R = 1 R = R Yes R*R <=2 No R = R PROCESS
Work Shop 1.
ระบบ OP/PP Individual Data ปี 2557
การติดต่อฐานข้อมูลและการแสดงผล
บทที่ 8 เงื่อนไขตัดสินใจ
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
คำสั่ง Create , Insert, Delete, Update
โครงการจัดทำระบบฐานข้อมูล วัตถุเสพติดของกลาง (ระยะที่1)
HDC CVD Risk.
หน่วยที่ 3 การประมวลผลข้อมูลให้เป็นสารสนเทศ
สรุปผลการนิเทศงานเฉพาะกิจ งานข้อมูลและเทคโนโลยีสารสนเทศ
อาจารย์อภิพงศ์ ปิงยศ Lab 06 : Microsoft Excel (Part2) ทท101 เทคโนโลยีสารสนเทศและนวัตกรรมการสื่อสารทางการท่องเที่ยว อาจารย์อภิพงศ์
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
การแก้ไขข้อมูล ความสัมพันธ์ระหว่างตาราง
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
บทที่ 7 การประมวลผลอาร์เรย์
บทสรุป ความหมายของ Query ความหมายของ Query
OPERATOR ภาษาปาสคาล (Pascal)
บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็นปัญหาย่อยและการสร้างลำดับขั้นตอนย่อย
ฐานข้อมูลเชิงสัมพันธ์
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
Chapter 3 : Array.
Array: One Dimension Programming I 9.
การสรุปผลข้อมูล และ Action Query
กำหนดการเชิงเส้น : การแก้ปัญหาด้วยวิธีกราฟ
บทที่ 8 การจดบันทึกและทำบัญชี
ใบสำเนางานนำเสนอ:

การจัดการข้อมูลขั้นสูง โดย ถนอม ห่อวงศ์สกุล และ สมสวัสดิ์ มาลาทอง

COUNT() เป็นคำสั่งที่ใช้ในการนับจำนวนข้อมูลที่ต้องการ

COUNT() รูปแบบ SELECT COUNT(column) FROM [Table-Name] ตัวอย่าง 1 การนับจำนวนค่าในคอลัมน์ person_id (นับเฉพาะค่าที่ไม่ใช่ NULL) จากตาราง pat SELECT COUNT(person_id) FROM pat;

ฟังก์ชัน COUNT() ตัวอย่าง 1 การนับจำนวนค่าในคอลัมน์ person_id (นับเฉพาะค่าที่ไม่ใช่ NULL) จากตาราง pat SELECT COUNT(person_id) FROM pat; ผลลัพธ์

COUNT() ตัวอย่าง 2 การนับจำนวนเรคคอร์ดทั้งหมดของตาราง odx ผลลัพธ์ SELECT COUNT(*) FROM odx; ผลลัพธ์

COUNT() ตัวอย่าง 3 การนับจำนวนค่าในคอลัมน์ changwat แบบไม่นับซ้ำ SELECT COUNT(DISTINCT changwat) FROM pat; ผลลัพธ์

COUNT() โจทย์ 1 จงนับจำนวนวันที่คลอดในคอลัมน์ bdate จากตาราง pp

COUNT() โจทย์ 1 จงนับจำนวนวันที่คลอดในคอลัมน์ bdate จากตาราง pp SELECT COUNT(BDATE) FROM pp; ผลลัพธ์

COUNT() โจทย์ 2 จงนับจำนวนเรคคอร์ดทั้งหมดของตาราง anc

COUNT() โจทย์ 2 จงนับจำนวนเรคคอร์ดทั้งหมดของตาราง anc SELECT COUNT(*) FROM anc; ผลลัพธ์

SUM() ใช้หาผลรวมในคอลัมน์

SUM() รูปแบบ SELECT SUM(column) FROM [Table-Name] ตัวอย่าง 1 การหาผลรวมของค่ารักษา (ฟิลด์ total ในตาราง cht) ของผู้รับบริการในวันที่ 1 เมษายน 2009 SELECT SUM(total) FROM cht WHERE date= '2009-04-01';

SUM() ตัวอย่าง 1 การหาผลรวมของค่ารักษา (ฟิลด์ total ในตาราง cht) ของผู้รับบริการในวันที่ 1 เมษายน 2009 SELECT SUM(total) FROM cht WHERE date= '2009-04-01'; ผลลัพธ์

SUM() ตัวอย่าง 2 การหาผลรวมของค่ารักษา (ฟิลด์ amount ในตาราง cha) ของผู้รับบริการที่มี hn หมายเลข 520029824 SELECT SUM(amount) FROM cha WHERE hn='520029824‘; ผลลัพธ์

SUM() โจทย์ จงหาผลรวมของค่ารักษา (ฟิลด์ total ในตาราง cht) ของผู้รับบริการในวันที่ 3 เมษายน 2009

SUM() โจทย์ จงหาผลรวมของค่ารักษา (ฟิลด์ total ในตาราง cht) ของผู้รับบริการในวันที่ 3 เมษายน 2009 SELECT SUM(total) FROM cht WHERE DATE= '2009-04-03'; ผลลัพธ์

MAX() และ MIN() ใช้สำหรับการหาค่ามากที่สุดและน้อยที่สุดในคอลัมน์

MAX() และ MIN() รูปแบบ SELECT MIN (column) FROM [Table-Name] SELECT MAX (column) FROM [Table-Name] SELECT MIN (column) FROM [Table-Name] ตัวอย่าง 1 การหาค่ารักษา (ฟิลด์ total ในตาราง cht) ที่มากที่สุดของผู้รับบริการในวันที่ 1 เมษายน 2009 SELECT MAX(total) FROM cht WHERE date= '2009-04-01';

MAX() และ MIN() ตัวอย่าง 1 การหาค่ารักษา (ฟิลด์ total ในตาราง cht) ที่มากที่สุดของผู้รับบริการในวันที่ 1 เมษายน 2009 SELECT MAX(total) FROM cht WHERE date= '2009-04-01'; ผลลัพธ์

MAX() และ MIN() ตัวอย่าง 2 การหาค่ารักษา (ฟิลด์ total ในตาราง cht) ที่น้อยที่สุดของผู้รับบริการในวันที่ 1 เมษายน 2009 SELECT MIN(total) FROM cht WHERE date= '2009-04-01'; ผลลัพธ์

MAX() และ MIN() โจทย์ 1 การหาค่ารักษา (ฟิลด์ total ในตาราง cht) ที่มากที่สุดของผู้รับบริการในวันที่ 6 เมษายน 2009

MAX() และ MIN() โจทย์ 1 การหาค่ารักษา (ฟิลด์ total ในตาราง cht) ที่มากที่สุดของผู้รับบริการในวันที่ 6 เมษายน 2009 SELECT MAX(total) FROM cht WHERE DATE= '2009-04-06'; ผลลัพธ์

MAX() และ MIN() โจทย์ 2 การหาค่ารักษา (ฟิลด์ total ในตาราง cht) ที่น้อยที่สุดของผู้รับบริการในวันที่ 7 เมษายน 2009

MAX() และ MIN() โจทย์ 2 การหาค่ารักษา (ฟิลด์ total ในตาราง cht) ที่น้อยที่สุดของผู้รับบริการในวันที่ 7 เมษายน 2009 SELECT MIN(total) FROM cht WHERE DATE= '2009-04-07'; ผลลัพธ์

AVG() ใช้หาค่าเฉลี่ยในคอลัมน์

AVG() รูปแบบ SELECT AVG (column) FROM [Table-Name] ตัวอย่าง การหาค่าเฉลี่ยของค่ารักษา (ฟิลด์ total ในตาราง cht) ของผู้รับบริการในวันที่ 1 เมษายน 2009 SELECT AVG (total) FROM cht WHERE date= '2009-04-01';

AVG() ตัวอย่าง การหาค่าเฉลี่ยของค่ารักษา (ฟิลด์ total ในตาราง cht) ของผู้รับบริการในวันที่ 1 เมษายน 2009 SELECT AVG (total) FROM cht WHERE date= '2009-04-01'; ผลลัพธ์

AVG() โจทย์ การหาค่าเฉลี่ยของค่ารักษา (ฟิลด์ total ในตาราง cht) ของผู้รับบริการในวันที่ 6 เมษายน 2009

AVG() โจทย์ การหาค่าเฉลี่ยของค่ารักษา (ฟิลด์ total ในตาราง cht) ของผู้รับบริการในวันที่ 6 เมษายน 2009 SELECT AVG (total) FROM cht WHERE date= '2009-04-06'; ผลลัพธ์

LEFT() RIGHT() MID() และ LENGTH()

LEFT() RIGHT() MID() และ LENGTH() รูปแบบ SELECT LEFT(column,NUM) FROM [Table-Name] SELECT RIGHT(column,NUM) FROM [Table-Name] SELECT MID(column,START,NUM) FROM [Table-Name] SELECT LENGTH(column) FROM [Table-Name] ตัวอย่าง 1 การตัดเอาข้อมูลปีที่มารับบริการ (4 อักขระจากทางซ้ายของฟิลด์ dateopd ในตาราง opd) SELECT LEFT(dateopd,4) as year FROM opd;

LEFT() RIGHT() MID() และ LENGTH() ตัวอย่าง 1 การตัดเอาข้อมูลปีที่มารับบริการ (4 อักขระจากทางซ้ายของฟิลด์ dateopd ในตาราง opd) SELECT LEFT(dateopd,4) as year FROM opd; ผลลัพธ์ แสดงฟิลด์ dateopd คู่กับ year ด้วย

LEFT() RIGHT() MID() และ LENGTH() ตัวอย่าง 2 การตัดเอาข้อมูลปีที่มารับบริการ (2 อักขระจากทางขวาของฟิลด์ dateopd ในตาราง opd) SELECT RIGHT (dateopd,2) as day FROM opd; ผลลัพธ์ แสดงฟิลด์ dateopd คู่กับ year ด้วย

LEFT() RIGHT() MID() และ LENGTH() ตัวอย่าง 3 การตัดเอาข้อมูลเดือนที่มารับบริการ (2 อักขระตรงกลางตัวที่ 6 ถึง 7 ของฟิลด์ dateopd ในตาราง opd) SELECT MID(dateopd,6,2) as month FROM opd; ผลลัพธ์ แสดงฟิลด์ dateopd คู่กับ month ด้วย

LEFT() RIGHT() MID() และ LENGTH() ตัวอย่าง 4 การนับอักขระในฟิลด์ dateopd ในตาราง opd SELECT LENGTH (dateopd) AS LengthOfDateopd FROM opd; ผลลัพธ์ แสดงฟิลด์ dateopd คู่กับ month ด้วย

LEFT() RIGHT() MID() และ LENGTH() โจทย์ 1 การตัดเอาข้อมูลปีที่มารับบริการ (4 อักขระจากทางซ้ายของฟิลด์ date_serv ในตาราง anc)

LEFT() RIGHT() MID() และ LENGTH() โจทย์ 1 จงตัดเอาข้อมูลปีที่มารับบริการ (4 อักขระจากทางซ้ายของฟิลด์ date_serv ในตาราง anc) SELECT LEFT(date_serv,4) AS YEAR FROM anc; ผลลัพธ์ แสดงฟิลด์ date_serv คู่กับ year ด้วย

LEFT() RIGHT() MID() และ LENGTH() โจทย์ 2 จงตัดเอาข้อมูลวันที่มารับบริการ (2 อักขระจากทางขวาของฟิลด์ date_serv ในตาราง anc)

LEFT() RIGHT() MID() และ LENGTH() โจทย์ 2 จงตัดเอาข้อมูลวันที่มารับบริการ (2 อักขระจากทางขวาของฟิลด์ date_serv ในตาราง anc) SELECT RIGHT(date_serv,2) AS DAY FROM anc; ผลลัพธ์ แสดงฟิลด์ date_serv คู่กับ day ด้วย

LEFT() RIGHT() MID() และ LENGTH() โจทย์ 3 จงตัดเอาข้อมูลเดือนที่มารับบริการ (2 อักขระตรงกลางตัวที่ 5 ถึง 6 ของฟิลด์ dateopd ในตาราง opd)

LEFT() RIGHT() MID() และ LENGTH() โจทย์ 3 จงตัดเอาข้อมูลเดือนที่มารับบริการ (2 อักขระตรงกลางตัวที่ 5 ถึง 6 ของฟิลด์ dateopd ในตาราง opd) SELECT MID(date_serv,5,2) AS MONTH FROM anc; ผลลัพธ์ แสดงฟิลด์ date_serv คู่กับ month ด้วย

LEFT() RIGHT() MID() และ LENGTH() โจทย์ 4 จงนับจำนวนอักขระในฟิลด์ dateopd ในตาราง opd แสดงฟิลด์ date_serv คู่กับ month ด้วย

LEFT() RIGHT() MID() และ LENGTH() โจทย์ 4 จงนับจำนวนอักขระในฟิลด์ dateopd ในตาราง opd SELECT LENGTH(date_serv) AS LengthOfDate_serv FROM anc;ผลลัพธ์ แสดงฟิลด์ date_serv คู่กับ month ด้วย

GROUP BY สำหรับการจัดกลุ่มของค่าในคอลัมน์ หรือหลาย ๆ คอลัมน์ เพื่อทำงานร่วมกับ aggregate function ต่าง ๆ เช่น COUNT SUM MAX MIN

GROUP BY รูปแบบ SELECT column, AGGREGATE_FUNCTION(column) FROM [Table-Name] WHERE column OPERATOR VALUE GROUP BY (column) ตัวอย่าง 1 หาจำนวนครั้งของการมารับบริการ จำแนกตามผู้มารับบริการ ในช่วงเดือนเมษายน 2009 SELECT hn,COUNT(*) FROM opd WHERE dateopd>='2009-04-01' AND dateopd<= '2009-04-30' GROUP BY hn ORDER BY COUNT(*) DESC; 45

GROUP BY ตัวอย่าง 1 หาจำนวนครั้งของการมารับบริการ จำแนกตามผู้มารับบริการ ในช่วงเดือนเมษายน 2009 SELECT hn,COUNT(*) FROM opd WHERE dateopd>='2009-04-01' AND dateopd<= '2009-04-30' GROUP BY hn ORDER BY COUNT(*) DESC; ผลลัพธ์

GROUP BY ตัวอย่าง 2 หาจำนวนครั้งของการมารับบริการ และผลรวมค่ารักษา จำแนกตามผู้มารับบริการและวันที่มารับบริการ SELECT date, hn, COUNT(*) AS num_service, SUM(total) AS summ FROM cht GROUP BY date, hn ORDER BY SUM(total) DESC; ผลลัพธ์

GROUP BY โจทย์ หาจำนวนการระบุรหัสวินิจฉัยโรค (Diag) ที่เป็น Principal Diagnosis จำแนกตามผู้มารับบริการและคลินิก ในเดือน เมษายน 2552 48

GROUP BY โจทย์ หาจำนวนการระบุรหัสวินิจฉัยโรค (Diag) ที่เป็น Primary Diagnosis จำแนกตามผู้มารับบริการและคลินิก ในเดือน เมษายน 2552 SELECT hn, clinic,COUNT(*) FROM odx WHERE dxtype=1 AND datedx>='20090401' AND datedx<='20090430' GROUP BY hn, clinic ORDER BY COUNT(*) DESC; 49

GROUP BY ผลลัพธ์ 50

HAVING สำหรับระบุเงื่อนไขในการเลือกข้อมูล แทน WHERE กรณีที่เงื่อนไขนั้นมีการใช้ aggregate function เช่น COUNT SUM MAX MIN

HAVING รูปแบบ SELECT column, AGGREGATE_FUNCTION(column) FROM [Table-Name] WHERE column OPERATOR value GROUP BY (column) HAVING AGGREGATE_FUNCTION(column) OPERATOR value ตัวอย่าง หาจำนวนครั้งของการมารับบริการ จำแนกตามผู้มารับบริการ ในช่วงเดือนเมษายน 2009 ที่มีจำนวนตั้งแต่ 10 ครั้งขึ้นไป SELECT hn,COUNT(*) FROM opd WHERE dateopd >= '2009-04-01' AND dateopd <= '2009-04-30' GROUP BY hn HAVING COUNT(*) >= 10 ORDER BY COUNT(*) DESC;

HAVING ตัวอย่าง หาจำนวนครั้งของการมารับบริการ จำแนกตามผู้มารับบริการ ในช่วงเดือนเมษายน 2009 ที่มีจำนวนตั้งแต่ 10 ครั้งขึ้นไป SELECT hn,COUNT(*) FROM opd WHERE dateopd >= '2009-04-01' AND dateopd <= '2009-04-30' GROUP BY hn HAVING COUNT(*) >= 10 ORDER BY COUNT(*) DESC; ผลลัพธ์ 53

HAVING โจทย์ ใช้ HAVING ช่วยในการตรวจสอบหาข้อมูล PCUCODE,CID,DATE_SERV, VCCTYPE ที่ซ้ำซ้อนจากตาราง EPI 54

HAVING โจทย์ ใช้ HAVING ช่วยในการตรวจสอบหาข้อมูล PCUCODE,CID,DATE_SERV, VCCTYPE ที่ซ้ำซ้อนจากตาราง EPI SELECT PCUCODE,PID,DATE_SERV, VCCTYPE,COUNT(*) FROM epi GROUP BY PCUCODE,piD,DATE_SERV, VCCTYPE; HAVING COUNT(*)>1 ผลลัพธ์ 55

การใช้ฟังก์ชันคู่กับ GROUP BY ตัวอย่าง หาผลรวมของค่ารักษา จำแนกรายเดือน SELECT LEFT(DATE,7) as month, SUM(total) as summ FROM cht GROUP BY LEFT(DATE,7) ORDER BY LEFT(DATE,7) ASC; ผลลัพธ์ 56

การคำนวณ (Math) ตัวอย่าง ต้องการหาน้ำหนักของเด็กเป็นกิโลกรัม ผลลัพธ์ SELECT cid, weight, (weight /1000) as weight1 FROM nut; ผลลัพธ์ 57

การคำนวณ (Math) โจทย์ จงคำนวณ Body Mass Index (BMI) จากตาราง nutri โดยสูตรการคำนวณ BMI = weight (kg) / (height (m))2 58

การคำนวณ (Math) โจทย์ จงคำนวณ Body Mass Index (BMI) จากตาราง nutri โดยสูตรการคำนวณ BMI = weight (kg) / (height (m))2 SELECT pid,weight,height, (weight/1000)/((height/100)*(height/100)) AS bmi FROM nutri ORDER BY (weight/1000)/((height/100)*(height/100)) DESC; ผลลัพธ์ BMI = kg / m^2 NOT = kg / cm^2 *Weight (g) in database Height (cm) in database 59

JOIN ใช้ในการเชื่อมโยงข้อมูลระหว่าง 2 ตาราง เพื่อนำมาประมวลผลร่วมกัน ซึ่งมี 3 รูปแบบ INNER JOIN (เลือกเรคคอร์ดจากทั้ง 2 ตาราง เฉพาะที่ตรงกับเงื่อนไขการเชื่อมโยง) LEFT JOIN (เลือกเรคคอร์ดจากตารางทางซ้ายทั้งหมด และเลือกเรคคอร์ดจากตารางทางขวาเฉพาะที่ตรงกับเงื่อนไขการเชื่อมโยง) RIGHT JOIN (เลือกเรคคอร์ดจากตารางทางขวาทั้งหมด และเลือกเรคคอร์ดจากตารางทางซ้ายเฉพาะที่ตรงกับเงื่อนไขการเชื่อมโยง)

JOIN รูปแบบ SELECT <Table-Name1>.column,…,<Table- Name2>.column1 FROM <Table-Name1> INNER | LEFT | RIGHT JOIN <Table-Name2> ON <Table-Name1>.column-join=<Table-Name2>.column-join ตัวอย่าง 1 การนำตารางข้อมูลการมารับบริการ (opd) มาเชื่อมโยงกับตารางข้อมูลบุคคล (pat) แบบ INNER JOIN โดยใช้ hn เป็นตัวเชื่อม SELECT opd.*,pat.sex, pat.dob, pat.occupa FROM opd INNER JOIN pat ON opd.hn=pat.hn;

JOIN ตัวอย่าง 1 การนำตารางข้อมูลการมารับบริการ (opd) มาเชื่อมโยงกับตารางข้อมูลบุคคล (pat) แบบ INNER JOIN โดยใช้ hn เป็นตัวเชื่อมโยง SELECT opd.*,pat.sex, pat.dob, pat.occupa FROM opd INNER JOIN pat ON opd.hn=pat.hn; ผลลัพธ์ 62

JOIN ตัวอย่าง 2 การนำตารางข้อมูลการมารับบริการ (opd) มาเชื่อมโยงกับตารางข้อมูลการเงิน (cht) แบบ LEFT JOIN โดยใช้ hn เป็นตัวเชื่อม เพื่อหาว่าผู้ป่วยแต่ละคนมีค่ารักษารวมเท่ากับเท่าไหร่ SELECT opd.hn,SUM(cht.total) FROM opd LEFT JOIN cht ON opd.hn=cht.hn WHERE DATE>='2009-06-01' AND DATE<='2009-06-01' GROUP BY opd.hn ORDER BY SUM(cht.total) ASC; ผลลัพธ์

JOIN โจทย์ จงเชื่อมโยงข้อมูลระหว่างตาราง ANC กับตาราง PAT เพื่อหาข้อมูลเพศ และวันเกิดของผู้มารับบริการฝากครรภ์

JOIN โจทย์ จงเชื่อมโยงข้อมูลระหว่างตาราง ANC กับตาราง PAT เพื่อหาข้อมูลเพศ และวันเกิดของผู้มารับบริการฝากครรภ์ SELECT a.*,sex,dob FROM anc a INNER JOIN nhso_12.pat b ON a.cid=b.person_id; ผลลัพธ์ เพศหญิง ที่มีอายุ 9-60 ปี

การต่อคำ (Concatenation) ใช้นำข้อความมาต่อกัน เพื่อนำไปใช้ประโยชน์ เช่น การสร้างรายงาน รูปแบบ SELECT CONCAT(<column1>,<column1>,…) FROM <Table-Name> ตัวอย่าง SELECT changwat,ampur,tambon,CONCAT(changwat,ampur,tambon) FROM person; 66

การต่อคำ (Concatenation) ตัวอย่าง SELECT changwat,ampur,tambon,CONCAT(changwat,ampur,tambon) FROM person; ผลลัพธ์ 67

การจัดการข้อมูลวัน เวลา ตัวอย่าง 1 การเปลี่ยนรูปแบบวันเกิด (birth) ในตาราง person ของข้อมูล 18 แฟ้ม ซึ่งอยู่ในรูปแบบ varchar ให้เป็นรูปแบบ date SELECT pid, birth, DATE(birth) AS birth1 FROM person; ผลลัพธ์ 68 68

การจัดการข้อมูลวัน เวลา ตัวอย่าง 2 การคำนวณอายุเป็นปี SELECT pid, birth, DATE(birth) AS birth1, (DATEDIFF(NOW(),DATE(birth))/365.25) as age FROM person; ผลลัพธ์ 69 69

การจัดการข้อมูลวัน เวลา ตัวอย่าง 3 การตัดเศษทิ้ง โดยใช้ฟังก์ชัน TRUNCATE SELECT pid, birth, DATE(birth) AS birth1, TRUNCATE(DATEDIFF(NOW(),DATE(birth))/365.25,0) as age FROM person; ผลลัพธ์ 70 70

การจัดการข้อมูลวัน เวลา ตัวอย่าง 4 การคำนวณอายุเป็นปี เดือน และวัน โดยใช้ฟังก์ชัน TIMESTAMPDIFF SELECT dob,CURDATE(), TIMESTAMPDIFF(YEAR,dob,CURDATE()) AS cnt_year, TIMESTAMPDIFF(MONTH,dob,CURDATE())- (TIMESTAMPDIFF(YEAR,dob,CURDATE())*12) AS cnt_month, TIMESTAMPDIFF(DAY,DATE_ADD(dob,INTERVAL (TIMESTAMPDIFF(MONTH,dob,CURDATE())) MONTH),CURDATE()) AS cnt_day FROM pat; 71 71

การจัดการข้อมูลวัน เวลา ผลลัพธ์ 72 72

การใช้คำสั่ง SELECT ซ้อน SELECT ใช้ลดความซับซ้อนในการเขียนคำสั่ง SQL ให้เข้าใจง่ายขึ้น ตัวอย่าง SELECT pid, birth, DATE(birth) AS birth1, TRUNCATE (DATEDIFF(NOW(),DATE(birth))/365.25,0) AS age FROM person; ผลลัพธ์ 73 73

การใช้คำสั่ง SELECT ซ้อน SELECT ลดความซับซ้อนโดย SELECT pid, birth1, age FROM (SELECT *,DATE(birth) AS birth1, TRUNCATE (DATEDIFF(NOW(),DATE(birth))/365.25,0) AS age FROM person) t1; ผลลัพธ์ 74 74

การใช้คำสั่ง SELECT ซ้อน SELECT โจทย์ จงคำนวณ Point ของตาราง EPI จำแนกเดือนของข้อมูล โดยสมมุติว่าเลขประจำตัวประชาชน (CID) ในตาราง EPI มีความถูกต้องและมีอยู่ในฐานข้อมูลประชากร และให้ Point เรคคอร์ดละ 0.5 75 75

การใช้คำสั่ง SELECT ซ้อน SELECT โจทย์ จงคำนวณ Point ของตาราง EPI จำแนกเดือนของข้อมูล (สมมุติว่าเลขประจำตัวประชาชนในตาราง EPI มีความถูกต้องและอยู่ในฐานข้อมูลประชากรแล้ว) โดยให้เรคคอร์ดละ 0.5 Point SELECT LEFT(date_serv,6) AS m,COUNT(*)*0.5 AS sum_point FROM (SELECT PCUCODE,CID,DATE_SERV, VCCTYPE FROM epi GROUP BY PCUCODE,CID,DATE_SERV, VCCTYPE) t GROUP BY LEFT(date_serv,6); ผลลัพธ์ 76 76

การ Export ข้อมูลเพื่อนำข้อมูลไปใช้ SQLyog สามารถ Export ทั้งข้อมูลที่เป็นตารางในฐานข้อมูลหรือผลลัพธ์ของการ SELECT ได้ 5 รูปแบบ ได้แก่ CSV, HTML, XML, Excel XML, SQL 77 77

การ Export ข้อมูลเพื่อนำข้อมูลไปใช้ หากเลือก Export เป็นรูปแบบ SQL ไฟล์ที่ได้จะมีนามสกุล .SQL ภายในไฟล์จะประกอบด้วยคำสั่งการสร้างตาราง และการinsert ข้อมูลเข้าตาราง 78 78