Numerische Berechnungen

Datentypen und Funktionen in Snowflake

Jake Roach

Field Data Engineer

Numerische Berechnungen

Drei Arten numerischer Berechnungen und Manipulationen.

Datentypen und Funktionen in Snowflake

Numerische Werte vergleichen

Vergleichsoperatoren helfen, mehrere Werte zu prüfen

  • =, sind zwei Werte gleich?
  • !=, sind zwei Werte ungleich?
  • <, ist ein Wert kleiner als ein anderer?
  • >, ist ein Wert größer als ein anderer?
  • <= kleiner oder gleich
  • >=, größer oder gleich

$$

            Gibt true oder false zurück!

$$

        1 = 1,   -- true

1 != 1, -- false
1 < 2, -- true
1 > 2, -- false
1 <= 2, -- true
2 >= 2 -- true
... WHERE 1 = 1 -- Datensätze filtern
Datentypen und Funktionen in Snowflake

Arithmetik in Snowflake

SELECT

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

                ...
  • Möglich zwischen beliebigen Kombinationen von # und field

Arithmetische Operatoren erlauben „Mathe“ mit Zahlen

$$

  • +, Addition
  • -, Subtraktion
  • *, Multiplikation
  • /, Division
Datentypen und Funktionen in Snowflake

Arithmetik

SELECT
    student_name, exam_score,

exam_score + 10 AS add_points, -- Zu jeder Note 10 Punkte addieren
exam_score * curve AS curved, -- Note um 10 % kurven
exam_score / 2 AS weighted -- Gewichtung der Prüfung halbieren
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
Datentypen und Funktionen in Snowflake

Aggregationsfunktionen erzeugen Zusammenfassungen

Eine Illustration von GROUP-BY-Aggregation.

Datentypen und Funktionen in Snowflake

Aggregationsfunktionen

 SELECT

<1>,
SUM(<field>), -- Gibt die Summe einer Spalte zurück
AVG(<field>) -- Findet den Durchschnitt einer Spalte
FROM ...
GROUP BY <1>;

Nicht aggregierte Felder per GROUP BY gruppieren!

  • GROUP BY ALL
Datentypen und Funktionen in Snowflake

Aggregationsfunktionen

SELECT
    exam_name,

    SUM(correct_answers) AS total_correct_answers,      -- Gesamtzahl richtig
    AVG(exam_score) AS avg_exam_score,                  -- Durchschnittliche Punktzahl


ROUND(AVG(exam_score), 1) AS rounded_exam_score -- ROUND(<value>, <n>)
FROM STUDENTS.grades GROUP BY exam_name; -- GROUP BY zum Aggregieren, sonst Fehler

ROUND() erhält den zu rundenden Wert und die Anzahl Nachkommastellen

Datentypen und Funktionen in Snowflake

Aggregationsfunktionen

   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

Werte wurden erzeugt mit:

  • SUM(correct_answers)
  • AVG(exam_score)
  • ROUND(AVG(exam_score), 2)
Datentypen und Funktionen in Snowflake

Lass uns üben!

Datentypen und Funktionen in Snowflake

Preparing Video For Download...