Numerieke berekeningen

Gegevenstypen en functies in Snowflake

Jake Roach

Field Data Engineer

Numerieke berekeningen

Drie soorten numerieke berekeningen en bewerkingen.

Gegevenstypen en functies in Snowflake

Numerieke waarden vergelijken

Vergelijkingsoperators helpen waarden te vergelijken of te beoordelen

  • =, zijn twee waarden gelijk?
  • !=, zijn twee waarden niet gelijk?
  • <, is één waarde kleiner dan een andere?
  • >, is één waarde groter dan een andere?
  • <= kleiner dan of gelijk aan
  • >=, groter dan of gelijk aan

$$

            Geeft true of false terug!

$$

        1 = 1,   -- true

1 != 1, -- false
1 < 2, -- true
1 > 2, -- false
1 <= 2, -- true
2 >= 2 -- true
... WHERE 1 = 1 -- Records filteren
Gegevenstypen en functies in Snowflake

Rekenen in Snowflake

SELECT

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

                ...
  • Kan worden uitgevoerd tussen een permutatie van # en field

Rekenkundige operators laten je rekenen met numerieke waarden

$$

  • +, optellen
  • -, aftrekken
  • *, vermenigvuldigen
  • /, delen
Gegevenstypen en functies in Snowflake

Rekenwerk

SELECT
    student_name, exam_score,

exam_score + 10 AS add_points, -- Tel 10 punten op bij ieders cijfer
exam_score * curve AS curved, -- Curve het cijfer met 10%
exam_score / 2 AS weighted -- Verminder de weging van de toets
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
Gegevenstypen en functies in Snowflake

Aggregatiefuncties maken samenvattende data

Een illustratie van GROUP BY-aggregatie van records.

Gegevenstypen en functies in Snowflake

Aggregatiefuncties

 SELECT

<1>,
SUM(<field>), -- Totaal van een kolom
AVG(<field>) -- Gemiddelde van een kolom
FROM ...
GROUP BY <1>;

Je moet GROUP BY gebruiken voor niet-geaggregeerde velden!

  • GROUP BY ALL
Gegevenstypen en functies in Snowflake

Aggregatiefuncties

SELECT
    exam_name,

    SUM(correct_answers) AS total_correct_answers,      -- Totaal # goed
    AVG(exam_score) AS avg_exam_score,                  -- Gemiddelde score


ROUND(AVG(exam_score), 1) AS rounded_exam_score -- ROUND(<value>, <n>)
FROM STUDENTS.grades GROUP BY exam_name; -- GROUP BY om records te aggregeren, anders fout

ROUND() neemt een waarde en het aantal decimalen om te behouden

Gegevenstypen en functies in Snowflake

Aggregatiefuncties

   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

Waarden zijn gegenereerd met:

  • SUM(correct_answers)
  • AVG(exam_score)
  • ROUND(AVG(exam_score), 2)
Gegevenstypen en functies in Snowflake

Laten we oefenen!

Gegevenstypen en functies in Snowflake

Preparing Video For Download...