COUNT, SUM, AVG, MIN, MAX
ใช้ฟังก์ชันรวมข้อมูลหลักทั้งห้า ทำความเข้าใจ COUNT(*) เทียบกับ COUNT(column) และรู้ว่าแต่ละฟังก์ชันจัดการกับ NULL อย่างไร
COUNT, SUM, AVG, MIN, MAX เป็นบทเรียน SQL Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน SQL Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส SQL Academy มีบทเรียนทั้งหมด 4 บทเรียน
ฟังก์ชันรวมทำอะไร
ฟังก์ชันรวม จะรวมหลายแถวให้เป็นค่าหนึ่งค่า ตัวอย่างเช่น รายได้รวม ค่าเฉลี่ยของคะแนน และวันที่ล่าสุด
COUNT
นับจำนวนแถว มีสองรูปแบบ:
SELECT COUNT(*) FROM users; -- counts ALL rows
SELECT COUNT(email) FROM users; -- counts rows where email IS NOT NULL
SELECT COUNT(DISTINCT country) FROM users; -- distinct non-NULL countriesSUM
หาผลรวมของคอลัมน์ตัวเลข โดยจะข้ามค่า NULL:
SELECT SUM(total) FROM orders;
SELECT SUM(total) FROM orders WHERE user_id = 42;AVG
คำนวณค่าเฉลี่ยเลขคณิต โดยจะข้ามค่า NULL — ดังนั้น AVG(x) จึงเท่ากับ SUM(x)/COUNT(x) ไม่ใช่ SUM(x)/COUNT(*):
SELECT AVG(rating) FROM reviews;MIN และ MAX
ค่าที่น้อยที่สุดและมากที่สุดซึ่งไม่ใช่ NULL ใช้ได้กับตัวเลข วันที่ สตริง และทุกสิ่งที่เปรียบเทียบได้:
SELECT MIN(created_at), MAX(created_at) FROM orders;
SELECT MIN(name), MAX(name) FROM users; -- alphabeticฟังก์ชันรวมและ NULL
ฟังก์ชันรวมทั้งหมด ยกเว้น COUNT(*) จะข้าม input ที่เป็น NULL AVG, SUM, MIN, MAX จะคืนค่า NULL เมื่อไม่มี input ที่ไม่ใช่ NULL
-- Suppose the table is empty or all rating is NULL:
SELECT AVG(rating) FROM reviews; -- NULLการรวมฟังก์ชันรวมหลายตัว
ใช้ฟังก์ชันรวมหลายตัวในคำสั่งค้นหาเดียว — ทุกฟังก์ชันจะเห็นกลุ่มเดียวกัน:
SELECT COUNT(*) AS orders,
SUM(total) AS revenue,
AVG(total) AS avg_order,
MIN(total) AS smallest,
MAX(total) AS biggest
FROM orders
WHERE created_at >= NOW() - INTERVAL '30 days';DISTINCT ภายในฟังก์ชันรวม
ใช้ DISTINCT ก่อนรวมค่า:
SELECT COUNT(DISTINCT user_id) AS unique_buyers,
SUM(DISTINCT total) AS sum_of_distinct_totals
FROM orders;ฟังก์ชันรวมที่ไม่มี GROUP BY
เมื่อใช้ฟังก์ชันรวมโดยไม่มี GROUP BY ชุดผลลัพธ์ทั้งหมดจะเป็นกลุ่มใหญ่กลุ่มเดียว — จึงได้ผลลัพธ์ออกมาหนึ่งแถว
การกรองก่อนการรวมค่า
WHERE จะจำกัดแถว input ก่อนที่จะนำไปคำนวณฟังก์ชันรวม:
-- Average of only large orders:
SELECT AVG(total) FROM orders WHERE total > 100;ส่วนคำสั่ง FILTER (PostgreSQL)
เพิ่มตัวกรองแยกสำหรับแต่ละฟังก์ชันรวมด้วยส่วนคำสั่ง FILTER:
SELECT
COUNT(*) AS total_orders,
COUNT(*) FILTER (WHERE status = 'paid') AS paid_orders,
SUM(total) FILTER (WHERE status = 'paid') AS paid_revenue
FROM orders;สรุป
ฟังก์ชันรวมหลักห้าตัว ได้แก่ COUNT, SUM, AVG, MIN, MAX
- COUNT(*) นับแถว ส่วน COUNT(col) จะข้าม NULL
- ฟังก์ชันรวมอื่น ๆ จะข้าม input ที่เป็น NULL
- ใช้ร่วมกับ WHERE / FILTER สำหรับการรวมค่าแบบมีเงื่อนไข
ตรวจสอบความเข้าใจ
สมมติว่า rating เป็น NULL ใน 100 แถวจากทั้งหมด 500 แถว AVG(rating) จะหารด้วยอะไร
เรียนรู้ SQL ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 46
- บทเรียน
- 183
คำถามที่พบบ่อย
บทเรียน “COUNT, SUM, AVG, MIN, MAX” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “COUNT, SUM, AVG, MIN, MAX” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส SQL Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส SQL Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “COUNT, SUM, AVG, MIN, MAX”
ใช้ฟังก์ชันรวมข้อมูลหลักทั้งห้า ทำความเข้าใจ COUNT(*) เทียบกับ COUNT(column) และรู้ว่าแต่ละฟังก์ชันจัดการกับ NULL อย่างไร คุณปฏิบัติ SQL Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน SQL Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน SQL Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “COUNT, SUM, AVG, MIN, MAX” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน SQL Academy นี้ได้ไหม
ได้ บทเรียน SQL Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- COUNT, SUM, AVG, MIN, MAX
- GROUP BY สำหรับคอลัมน์เดียวและหลายคอลัมน์
- HAVING เทียบกับ WHERE
- ข้อผิดพลาดที่พบบ่อย: NULL ในการรวมข้อมูล