Calcoli numerici

Tipi di dati e funzioni in Snowflake

Jake Roach

Field Data Engineer

Calcoli numerici

Tre tipi di calcoli e manipolazioni numeriche.

Tipi di dati e funzioni in Snowflake

Confrontare valori numerici

Gli operatori di confronto servono a confrontare o valutare più valori

  • =, due valori sono uguali?
  • !=, due valori sono diversi?
  • <, un valore è minore di un altro?
  • >, un valore è maggiore di un altro?
  • <= minore o uguale a
  • >=, maggiore o uguale a

$$

            Restituiscono true o false!

$$

        1 = 1,   -- true

1 != 1, -- false
1 < 2, -- true
1 > 2, -- false
1 <= 2, -- true
2 >= 2 -- true
... WHERE 1 = 1 -- Filtra i record
Tipi di dati e funzioni in Snowflake

Aritmetica in Snowflake

SELECT

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

                ...
  • Possono essere usati tra permutazioni di # e field

Gli operatori aritmetici permettono di fare "calcoli" con valori numerici

$$

  • +, addizione
  • -, sottrazione
  • *, moltiplicazione
  • /, divisione
Tipi di dati e funzioni in Snowflake

Aritmetica

SELECT
    student_name, exam_score,

exam_score + 10 AS add_points, -- Aggiungi 10 punti al voto di ogni studente
exam_score * curve AS curved, -- Applica una curva del 10%
exam_score / 2 AS weighted -- Riduci il peso del test
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
Tipi di dati e funzioni in Snowflake

Le funzioni di aggregazione producono riepiloghi

Un'illustrazione di record aggregati con GROUP BY.

Tipi di dati e funzioni in Snowflake

Funzioni di aggregazione

 SELECT

<1>,
SUM(<field>), -- Restituisce il totale di una colonna
AVG(<field>) -- Trova la media di una colonna
FROM ...
GROUP BY <1>;

Devi usare GROUP BY per i campi non aggregati!

  • GROUP BY ALL
Tipi di dati e funzioni in Snowflake

Funzioni di aggregazione

SELECT
    exam_name,

    SUM(correct_answers) AS total_correct_answers,      -- N. totale risposte corrette
    AVG(exam_score) AS avg_exam_score,                  -- Punteggio medio d'esame


ROUND(AVG(exam_score), 1) AS rounded_exam_score -- ROUND(<value>, <n>)
FROM STUDENTS.grades GROUP BY exam_name; -- GROUP BY per aggregare i record, altrimenti errore

ROUND() prende un valore da arrotondare e il numero di cifre dopo la virgola

Tipi di dati e funzioni in Snowflake

Funzioni di aggregazione

   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

Valori generati con:

  • SUM(correct_answers)
  • AVG(exam_score)
  • ROUND(AVG(exam_score), 2)
Tipi di dati e funzioni in Snowflake

Ayo berlatih!

Tipi di dati e funzioni in Snowflake

Preparing Video For Download...