รูปแบบการวิเคราะห์ข้อมูลขั้นสูง

Introduction to Databricks SQL

Kevin Barlow

Data Manager

แรงจูงใจ

แผนภาพ Lakehouse - การวิเคราะห์

Introduction to Databricks SQL

Sub queries

  • ทำได้โดยการ "ซ้อน" คิวรี SQL
    • คิวรีที่ซ้อนอยู่ถือเป็น "ตาราง" ใหม่
    • มีลักษณะคล้ายกับการสร้าง view
  • เหมาะกับหลากหลายกรณีการใช้งาน
    • ดึงผลลัพธ์จากคิวรีอื่น
    • ลดความซับซ้อนของคิวรี
    • การรวมกลุ่มข้อมูลภายในคิวรี
SELECT store, totalRev, product
FROM (
    SELECT count(*) as count,
          sum(revenue) as totalRev,
          min(price) as minPrice,
          max(units) as maxUnits,
          region,
          store,
          product
      FROM sales 
      GROUP BY region, store, product
) q
Introduction to Databricks SQL

Window functions

  • ฟังก์ชันและเทคนิคประเภทหนึ่งใน SQL
  • คำนวณค่าครอบคลุมช่วงของแถวที่กำหนด
    • แถวเหล่านั้นมีความสัมพันธ์กันในบางลักษณะ
  • ตัวอย่าง:
    • คำนวณค่าตามช่วงเวลา
    • คำนวณการเปลี่ยนแปลงระหว่างแถวที่ต่อเนื่องกัน
    • คำนวณครอบคลุมหลายมิติ
SELECT name,
       dept,
       RANK() OVER 
           (PARTITION BY dept 
         ORDER BY salary) AS rank
  FROM employees;
name dept salary rank
Lisa Sales 10000 1
Alex Sales 30000 2
Fred Engineering 21000 1
Tom Engineering 23000 2
Introduction to Databricks SQL

ฟังก์ชัน Databricks SQL ขั้นสูง

RANK()

  • เปรียบเทียบแถวภายใน partition ที่กำหนดและคำนวณอันดับให้แต่ละแถว
SELECT a,
       b,
       RANK() OVER(PARTITION BY a ORDER BY b DESC),
    FROM table_name;
a b rank
A1 3 1
A1 1 3
A1 2 2
A2 1 1

LAG() and LEAD()

  • คืนค่าก่อนหน้า (LAG()) หรือค่าถัดไป (LEAD()) จากแถวนั้น
SELECT a,
       b,
       LAG(b) OVER (PARTITION BY a ORDER BY b)
    FROM table_name;
a b lag
A1 3 NULL
A1 1 3
A1 2 1
A2 1 NULL
Introduction to Databricks SQL

มาฝึกกันเถอะ!

Introduction to Databricks SQL

Preparing Video For Download...