函数、排序与分组

Snowflake SQL 入门

George Boorman

Senior Curriculum Manager, DataCamp

字符串函数 - INITCAP

语法:INITCAP( <expr> )

  • 将字符串中每个单词首字母大写
SELECT INITCAP(category) AS capitalized_category 
FROM pizza_type

首字母大写的披萨名称结果

Snowflake SQL 入门

字符串函数 - CONCAT

  • 合并表达式

语法:

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

合并前:

合并前的 category 列

  • category 与 ' - Pizza' 合并
    SELECT CONCAT(category, ' - Pizza') 
      AS pizza_category 
    FROM pizza_type
    

合并后:

合并后的 category 列

Snowflake SQL 入门

日期与时间函数

  • CURRENT_DATE()CURRENT_DATE
  • CURRENT_TIME()CURRENT_TIME
SELECT CURRENT_DATE
SELECT CURRENT_TIME

当前日期结果

当前时间结果

Snowflake SQL 入门

EXTRACT

语法

  • EXTRACT( <date_or_time_part> FROM <date_or_time_expr> )
    • <date_or_time_part>yearmonthdayweekday
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 按所有(非聚合)列分组
Snowflake SQL 入门

开始练习吧!

Snowflake SQL 入门

Preparing Video For Download...