수치 계산

Snowflake의 데이터 타입과 함수

Jake Roach

Field Data Engineer

수치 계산

세 가지 형태의 수치 계산 및 조작.

Snowflake의 데이터 타입과 함수

수치 값 비교

비교 연산자는 여러 값을 비교·평가합니다

  • =, 두 값이 같은가?
  • !=, 두 값이 서로 다른가?
  • <, 한 값이 다른 값보다 작은가?
  • >, 한 값이 다른 값보다 큰가?
  • <= 작거나 같은가
  • >=, 크거나 같은가

$$

            true 또는 false를 반환합니다!

$$

        1 = 1,   -- true

1 != 1, -- false
1 < 2, -- true
1 > 2, -- false
1 <= 2, -- true
2 >= 2 -- true
... WHERE 1 = 1 -- 레코드 필터링
Snowflake의 데이터 타입과 함수

Snowflake에서의 산술 연산

SELECT

    <#> + <#>,        -- 2 + 2  ->  4
    <field> - <#>,    -- 4 - 1  ->  3
    <field> * <#>,    -- 3 * 2  ->  6
    <field> / <#>,    -- 9 / 3  ->  3

                ...
  • #field 조합 간에 연산 가능

산술 연산자는 수치 값으로 계산을 수행합니다

$$

  • +, 덧셈
  • -, 뺄셈
  • *, 곱셈
  • /, 나눗셈
Snowflake의 데이터 타입과 함수

산술 연산

SELECT
    student_name, exam_score,

exam_score + 10 AS add_points, -- 각 학생 점수에 10점 추가
exam_score * curve AS curved, -- 10% 곡선 보정
exam_score / 2 AS weighted -- 시험 가중치 절반으로 감소
FROM STUDENTS.grades;
              student_name  |   exam_score   |  add_points  |  curved  |  weighted  
             -------------- | -------------- | ------------ | -------- | ----------
               Ryan         |       78       |      88      |   85.8   |     39
               Tatiana      |       89       |      99      |   97.9   |    44.5
               Pankaj       |       74       |      84      |   81.4   |     37
Snowflake의 데이터 타입과 함수

집계 함수는 요약 데이터를 생성합니다

GROUP BY로 집계된 레코드의 일러스트.

Snowflake의 데이터 타입과 함수

집계 함수

 SELECT

<1>,
SUM(<field>), -- 컬럼의 총합 반환
AVG(<field>) -- 컬럼의 평균값 계산
FROM ...
GROUP BY <1>;

비집계 필드는 반드시 GROUP BY 해야 합니다!

  • GROUP BY ALL
Snowflake의 데이터 타입과 함수

집계 함수

SELECT
    exam_name,

    SUM(correct_answers) AS total_correct_answers,      -- 정답 수 합계
    AVG(exam_score) AS avg_exam_score,                  -- 시험 점수 평균


ROUND(AVG(exam_score), 1) AS rounded_exam_score -- ROUND(<value>, <n>)
FROM STUDENTS.grades GROUP BY exam_name; -- 레코드 집계를 위해 GROUP BY, 그렇지 않으면 오류

ROUND()는 반올림할 값과 소수점 이하 자릿수를 받습니다

Snowflake의 데이터 타입과 함수

집계 함수

   exam_name    |  total_correct_answers  |  avg_exam_score  |  rounded_avg_exam_score 
  ------------- | ----------------------- | ---------------- | ------------------------ 
   Calculus I   |           871           |      89.11111    |           89.1     
   Biology      |           776           |      87.47777    |           87.5
   English III  |           541           |      91.33333    |           91.3
   Python       |          1179           |      92.78787    |           92.8
   Finance      |           349           |      96.14156    |           96.1

다음으로 생성된 값입니다:

  • SUM(correct_answers)
  • AVG(exam_score)
  • ROUND(AVG(exam_score), 2)
Snowflake의 데이터 타입과 함수

연습해 봅시다!

Snowflake의 데이터 타입과 함수

Preparing Video For Download...