Функции, сортировка и группировка

Введение в 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> ... ] )

До 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

Результат CURRENT_DATE

Результат CURRENT_TIME

Введение в Snowflake SQL

EXTRACT

Синтаксис

  • 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 Группирует запрос по всем (неагрегированным) столбцам
Введение в Snowflake SQL

Давайте потренируемся!

Введение в Snowflake SQL

Preparing Video For Download...