6.1 รายการฟังก์ชันรวม
เมื่อคุณใช้การจัดกลุ่มแถวใน SQL ด้วยตัวดำเนินการGROUP BY
คุณสามารถใช้SELECT
ฟังก์ชันในคำสั่งที่ดำเนินการกับข้อมูลที่จัดกลุ่มได้ ฟังก์ชันดังกล่าวเรียกอีกอย่างว่าฟังก์ชันรวม
นี่คือรายการที่ได้รับความนิยมสูงสุด:
# | การทำงาน | คำอธิบาย |
---|---|---|
1 | นับ() | ส่งกลับจำนวนของค่าในกลุ่ม |
2 | ผลรวม() | ส่งกลับผลรวมของค่าในกลุ่ม |
3 | สูงสุด() | ส่งกลับค่าสูงสุดของกลุ่ม |
4 | นาที() | ส่งกลับค่าต่ำสุดของกลุ่ม |
5 | เฉลี่ย () | ส่งกลับค่าเฉลี่ยของกลุ่ม |
6 | BIT_AND() | ดำเนินการในระดับบิตและเหนือค่ากลุ่มทั้งหมด |
7 | BIT_OR() | ดำเนินการในระดับบิตหรือมากกว่าค่ากลุ่มทั้งหมด |
8 | BIT_XOR() | ดำเนินการ XOR ระดับบิตกับค่ากลุ่มทั้งหมด |
9 | GROUP_CONCAT() | เชื่อมโยงค่ากลุ่มทั้งหมดเป็นสตริงเดียว |
ทีนี้มาดูตัวอย่างบางส่วนที่มีฟังก์ชันรวมของเรา
6.2 วิเคราะห์เงินเดือนพนักงาน
ลองคำนวณสถิติเกี่ยวกับพนักงานของเราจากตารางพนักงาน
คำถามที่หนึ่ง: เรามีพนักงานกี่คน?
หากเราต้องการทราบจำนวนระเบียนทั้งหมดในตาราง เราสามารถใช้ฟังก์ชันการรวมสำหรับสิ่งCOUNT
นี้ คำขอจะมีลักษณะดังนี้:
SELECT COUNT(*) FROM employee
และ MySQL จะส่งกลับหมายเลข 6 เป็นคำตอบ เรามีพนักงาน 6 คนในแผนก รวมทั้งแมวด้วย เอาล่ะ.
คำถามที่สองเราจ่ายเงินให้พนักงานทุกคนเดือนละเท่าไหร่?
ในการตอบคำถามนี้ เราจำเป็นต้องรวมเงินเดือนของพนักงานทั้งหมด ในการทำเช่นนี้ เราใช้ฟังก์ชันการรวมSUM()
คำขอจะมีลักษณะดังนี้:
SELECT SUM(salary) FROM employee
โปรดทราบว่าเวลานี้เราต้องระบุค่าของคอลัมน์ที่เรากำลังสรุป เราได้ระบุคอลัมน์เงินเดือน เราไม่สามารถรวมเขตข้อมูลทั้งหมดในตารางได้
และ MySQL จะส่งคืนหมายเลข 461,000 เป็นคำตอบ เรามีพนักงาน 6 คนในแผนกและเงินเดือน 461,000 มากเกินไป.
และสุดท้าย คำถามที่สาม: เงินเดือนสูงสุดและต่ำสุดของเราในแผนกคือเท่าไหร่? เรามาคำนวณเงินเดือนเฉลี่ยกัน ในการทำ เช่นนี้เราจำเป็นต้องมีฟังก์ชันMIN
และMAX
AVG
แบบสอบถามจะซับซ้อนขึ้นเล็กน้อยในครั้งนี้และมีลักษณะดังนี้:
SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee
ผลลัพธ์ของแบบสอบถามนี้จะเป็น:
นาที (เงินเดือน) | AVG (เงินเดือน) | MAX (เงินเดือน) |
---|---|---|
1,000 | 76833.3333 | 200,000 |
ค่าจ้างขั้นต่ำในแผนกของเราคือ 1,000 ดอลลาร์ – ดีมาก เงินเดือนสูงสุดคือ 200,000 แต่นี่คือผู้อำนวยการ
แต่เงินเดือนเฉลี่ยสูงเกินไป คุณต้องปรับต้นทุนให้เหมาะสม มาจ้างแมวตัวอื่นกันเถอะ :)
GO TO FULL VERSION