Digital Marketing Academy · บทเรียน

SELECT, WHERE, GROUP BY

รวมข้อมูลแคมเปญ

บทเรียน 2 จาก 413 ขั้นตอน

SELECT, WHERE, GROUP BY เป็นบทเรียน Digital Marketing Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Digital Marketing Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Digital Marketing Academy มีบทเรียนทั้งหมด 4 บทเรียน

คำสั่งสามคำ

ตัวชี้วัดการตลาดแทบทุกอย่างสร้างจากส่วนคำสั่งสามส่วน ได้แก่ SELECT ใช้เลือกคอลัมน์ WHERE ใช้กรองแถวข้อมูล และ GROUP BY ใช้รวมแถวข้อมูลเป็นกลุ่ม

เชี่ยวชาญคำสั่งสามส่วนนี้ แล้วคุณจะตอบคำถามด้านการวิเคราะห์ที่เกิดขึ้นในแต่ละวันได้ด้วยตนเองเป็นส่วนใหญ่

SELECT channel, SUM(revenue) AS revenue
FROM orders
GROUP BY channel;

SELECT: การเลือกคอลัมน์

SELECT ใช้ระบุสิ่งที่คุณต้องการรับกลับมา คุณสามารถเปลี่ยนชื่อคอลัมน์ด้วย AS เพื่อให้ผลลัพธ์อ่านง่าย และคำนวณค่าใหม่ได้ภายในคำสั่ง

รักษาชุดผลลัพธ์ให้กระชับ ดึงมาเฉพาะคอลัมน์ที่จำเป็นจริง ๆ โดยเฉพาะเมื่อทำงานกับตารางขนาดใหญ่

SELECT campaign_id AS campaign,
       spend,
       spend * 1.2 AS spend_with_fees
FROM campaigns;

WHERE: การกรองแถวข้อมูล

WHERE จะเก็บไว้เฉพาะแถวข้อมูลที่ตรงกับเงื่อนไข คุณสามารถรวมเงื่อนไขด้วย AND และ OR เพื่อเจาะจงกลุ่มที่ต้องการ

ตัวกรองวันที่เป็นเครื่องมือพื้นฐานสำคัญของนักการตลาด เพราะช่วยกำหนดช่วงเวลารายงานได้อย่างแม่นยำ

SELECT *
FROM sessions
WHERE channel = 'email'
  AND session_date >= DATE '2026-01-01'
  AND device = 'mobile';

การกรองด้วย IN และ BETWEEN

IN ใช้จับคู่กับค่าใดค่าหนึ่งในรายการ เหมาะอย่างยิ่งเมื่อทำงานกับหลายแคมเปญพร้อมกัน ส่วน BETWEEN ใช้ครอบคลุมช่วงค่า เหมาะสำหรับกำหนดช่วงวันที่

คำสั่งเหล่านี้ช่วยให้ตัวกรองที่ซับซ้อนสั้นและอ่านง่าย แทนการต่อเงื่อนไข OR ยาว ๆ

SELECT order_id, revenue
FROM orders
WHERE channel IN ('paid_search', 'paid_social')
  AND order_date BETWEEN DATE '2026-03-01' AND DATE '2026-03-31';

GROUP BY: การแบ่งกลุ่ม

GROUP BY จะรวมแถวข้อมูลที่มีค่าเดียวกันให้เหลือหนึ่งแถวต่อหนึ่งกลุ่ม ใช้คู่กับฟังก์ชันสรุปรวมอย่าง SUM, COUNT และ AVG เพื่อรับตัวชี้วัดแยกตามกลุ่ม

นี่คือวิธีเปลี่ยนเหตุการณ์ดิบให้กลายเป็นตารางผลการดำเนินงานแยกตามช่องทาง

SELECT channel,
       COUNT(*) AS sessions,
       SUM(revenue) AS revenue
FROM sessions
GROUP BY channel;

ฟังก์ชันสรุปรวม

SUM ใช้รวมรายได้ COUNT ใช้นับเหตุการณ์ AVG ใช้หาค่าเฉลี่ย และ COUNT(DISTINCT ...) ใช้นับผู้ใช้ที่ไม่ซ้ำกัน

การนับแบบไม่ซ้ำมีความสำคัญในงานการตลาด จำนวนเซสชันทั้งหมดกับจำนวนผู้เข้าชมที่ไม่ซ้ำกันเป็นตัวเลขที่แตกต่างกันมาก

SELECT campaign_id,
       COUNT(*) AS clicks,
       COUNT(DISTINCT user_id) AS reach,
       AVG(revenue) AS avg_order
FROM orders
GROUP BY campaign_id;

การจัดกลุ่มหลายคอลัมน์

จัดกลุ่มด้วยคอลัมน์มากกว่าหนึ่งคอลัมน์เพื่อสร้างเมทริกซ์ เช่น ช่องทางแยกตามอุปกรณ์ ชุดค่าที่ไม่ซ้ำกันแต่ละชุดจะกลายเป็นแถวของตนเอง

วิธีนี้ช่วยให้แบ่งกลุ่มได้ลึกซึ้งยิ่งขึ้นโดยไม่ต้องส่งออกข้อมูลไปยังสเปรดชีต

SELECT channel, device,
       COUNT(*) AS sessions
FROM sessions
GROUP BY channel, device
ORDER BY channel, sessions DESC;

HAVING: การกรองกลุ่ม

WHERE ใช้กรองแถวก่อนจัดกลุ่ม ส่วน HAVING ใช้กรองกลุ่มหลังการรวมค่า ใช้ HAVING เพื่อเก็บไว้เฉพาะกลุ่มย่อยที่สูงกว่าเกณฑ์

ตัวอย่างเช่น แสดงเฉพาะแคมเปญที่ทำให้เกิดคำสั่งซื้อมากกว่า 100 รายการ

SELECT campaign_id, COUNT(*) AS orders
FROM orders
GROUP BY campaign_id
HAVING COUNT(*) > 100
ORDER BY orders DESC;

การเรียงลำดับและจำกัดผลลัพธ์

ORDER BY เรียงลำดับผลลัพธ์เพื่อให้แถวสำคัญที่สุดปรากฏก่อน ส่วน LIMIT จำกัดจำนวนผลลัพธ์ที่แสดง เหมาะสำหรับรายงานอันดับต้น ๆ จำนวน N รายการ

เมื่อนำมาใช้ร่วมกัน ทั้งสองส่วนช่วยตอบได้ทันทีว่า "แคมเปญ 5 อันดับแรกของฉันเมื่อเรียงตามรายได้คือแคมเปญใด"

SELECT campaign_id, SUM(revenue) AS revenue
FROM orders
GROUP BY campaign_id
ORDER BY revenue DESC
LIMIT 5;

การรวมค่าแบบมีเงื่อนไข

FILTER (หรือ CASE ภายในการรวมค่า) ทำให้คำสั่งสอบถามเดียวคำนวณตัวชี้วัดแบบมีเงื่อนไขได้หลายรายการพร้อมกัน เช่น รายได้จากลูกค้าใหม่เทียบกับลูกค้าที่กลับมา

วิธีนี้ช่วยเลี่ยงการเรียกใช้คำสั่งสอบถามหลายชุดและทำให้กลุ่มย่อยต่าง ๆ สอดคล้องกันอย่างสมบูรณ์

SELECT channel,
       SUM(revenue) FILTER (WHERE is_new_customer) AS new_rev,
       SUM(revenue) FILTER (WHERE NOT is_new_customer) AS repeat_rev
FROM orders
GROUP BY channel;

รวมทุกส่วนเข้าด้วยกัน

คำสั่งสอบถามฉบับเต็มใช้ส่วนคำสั่งทั้งหมดต่อกัน: กรองแถวด้วย WHERE จัดกลุ่ม กรองกลุ่มด้วย HAVING แล้วจึงเรียงลำดับและจำกัดผลลัพธ์

อ่านจากบนลงล่าง แล้วจะเห็นภาพการวิเคราะห์ช่องทางของคุณอย่างครบถ้วน

SELECT channel, SUM(revenue) AS revenue
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY channel
HAVING SUM(revenue) > 1000
ORDER BY revenue DESC;

ตรวจสอบความเข้าใจ

คุณต้องการเฉพาะกลุ่มแคมเปญที่มีคำสั่งซื้อมากกว่า 50 รายการ ส่วนคำสั่งใดใช้กรองกลุ่มที่ผ่านการรวมค่าแล้ว

ทบทวน

SELECT เลือกคอลัมน์ WHERE กรองแถว GROUP BY แบ่งกลุ่ม HAVING กรองกลุ่ม และ ORDER BY ร่วมกับ LIMIT กำหนดรูปแบบผลลัพธ์

ด้วยการรวมค่าแบบมีเงื่อนไข คุณคำนวณตัวชี้วัดหลายรายการได้ในการประมวลผลรอบเดียว ขั้นถัดไป: รวมข้อมูลจากหลายตารางด้วย JOIN

เริ่มต้นได้ฟรี

เรียนรู้ Digital Marketing Academy ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
63
บทเรียน
239

คำถามที่พบบ่อย

บทเรียน “SELECT, WHERE, GROUP BY” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “SELECT, WHERE, GROUP BY” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Digital Marketing Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Digital Marketing Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “SELECT, WHERE, GROUP BY”

รวมข้อมูลแคมเปญ คุณปฏิบัติ Digital Marketing Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Digital Marketing Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Digital Marketing Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “SELECT, WHERE, GROUP BY” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Digital Marketing Academy นี้ได้ไหม

ได้ บทเรียน Digital Marketing Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เหตุผลที่นักการตลาดเรียน SQL
  2. SELECT, WHERE, GROUP BY
  3. การรวมตารางการตลาด
  4. คิวรีกลุ่ม Cohort และกรวย
← กลับไปที่ Digital Marketing Academy