ฟังก์ชัน การเรียงลำดับ และการจัดกลุ่ม

Snowflake SQL เบื้องต้น

George Boorman

Senior Curriculum Manager, DataCamp

ฟังก์ชันสตริง - INITCAP

Syntax: INITCAP( <expr> )

  • แปลงตัวอักษรแรกของแต่ละคำในสตริงให้เป็นตัวพิมพ์ใหญ่
SELECT INITCAP(category) AS capitalized_category 
FROM pizza_type

ผลลัพธ์ชื่อพิซซาที่ผ่าน INITCAP

Snowflake SQL เบื้องต้น

ฟังก์ชันสตริง - CONCAT

  • รวมนิพจน์หลายค่าเข้าด้วยกัน

Syntax:

CONCAT( <expr1> [ , <exprN> ... ] )

ก่อน CONCAT:

คอลัมน์ category ก่อนการเชื่อมต่อ

  • เชื่อม category กับ ' - Pizza'
    SELECT CONCAT(category, ' - Pizza') 
      AS pizza_category 
    FROM pizza_type
    

หลัง CONCAT:

คอลัมน์ category หลังการเชื่อมต่อ

Snowflake SQL เบื้องต้น

ฟังก์ชัน DATE & TIME

  • CURRENT_DATE() หรือ CURRENT_DATE
  • CURRENT_TIME() หรือ CURRENT_TIME
SELECT CURRENT_DATE
SELECT CURRENT_TIME

ผลลัพธ์วันที่ปัจจุบัน

ผลลัพธ์เวลาปัจจุบัน

Snowflake SQL เบื้องต้น

EXTRACT

Syntax

  • EXTRACT( <date_or_time_part> FROM <date_or_time_expr> )
    • <date_or_time_part> - year, month, day, weekday เป็นต้น
SELECT EXTRACT(MONTH FROM order_date) AS order_month,
    COUNT(*) AS num_orders
FROM orders
GROUP BY order_month

จำนวนคำสั่งซื้อต่อเดือน

Snowflake SQL เบื้องต้น

การเรียงลำดับและการจัดกลุ่ม

  • การเรียงลำดับ: ORDER BY
  • การจัดกลุ่ม: GROUP BY
    • Snowflake: GROUP BY ALL
Snowflake SQL เบื้องต้น

GROUP BY ALL

  • GROUP BY column1, column2
SELECT 
    pizza_type_id,
    size,
    AVG(price) AS average_price
FROM 
    pizzas
GROUP BY
    pizza_type_id, -- explicit columns
    size
ORDER BY 
    pizza_type_id, average_price DESC

  • GROUP BY ALL

 

SELECT 
    pizza_type_id,
    size,
    AVG(price) AS average_price
FROM 
    pizzas
GROUP BY ALL -- Don't specify columns 
ORDER BY 
    pizza_type_id, average_price DESC
Snowflake SQL เบื้องต้น

สรุป

ฟังก์ชัน/คีย์เวิร์ด การใช้งาน
INITCAP() แปลงตัวอักษรแรกของแต่ละคำในสตริงให้เป็นตัวพิมพ์ใหญ่
CONCAT() รวมสตริงหลายค่าเข้าด้วยกัน
CURRENT_DATE ดึงวันที่ปัจจุบัน
CURRENT_TIME ดึงเวลาปัจจุบัน
EXTRACT ดึงส่วนประกอบของวันที่/เวลา เช่น month จากวันที่
ORDER BY เรียงลำดับผลลัพธ์ของคิวรี
GROUP BY ALL จัดกลุ่มตามคอลัมน์ทั้งหมด (ที่ไม่ใช่ aggregate)
Snowflake SQL เบื้องต้น

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

Snowflake SQL เบื้องต้น

Preparing Video For Download...