Data groeperen

Gevorderde SQL-query’s met AI

Jasmin Ludolf

Senior Data Science Content Developer

Data groeperen

$$

  • Inzichten voor specifieke groepen

$$

  • Rijen met dezelfde waarden combineren

$$

  • Maak samenvattingen om patronen te onthullen

Verzameling van taalboeken

Gevorderde SQL-query’s met AI

Distinct vs. groepen

SELECT DISTINCT language
FROM films;
|language|        
|--------|
|Danish  |
|Greek   |
|Dzongkha|
|...     |
  • Unieke waarden
  • Welke talen hebben we?
SELECT language
FROM films
GROUP BY language;
|language|        
|--------|
|Danish  |
|Greek   |
|Dzongkha|
|...     |
  • Maakt groepen
  • Hoeveel films hebben we in elke taal?
Gevorderde SQL-query’s met AI

Opdrachten voor groeperen

Opdracht: Groepeer films op taal

SELECT language, COUNT(*) AS lang_count
FROM films
GROUP BY language;
|language|lang_count|
|--------|----------|
|        |11        |
|Arabic  |5         |
|Kannada |1         |
|Czech   |1         |
...

$$

  • Groeperen is gebruikelijk met samenvattingsstatistieken:
    • bijv. tellen, gemiddelden

$$

  • Geen specifieke vraag -> COUNT()
    • Aggregatiefunctie
    • Vat meerdere rijen samen tot één waarde
Gevorderde SQL-query’s met AI

Veelvoorkomende groepeerfouten

Opdracht: Toon alle filmtitels gegroepeerd op taal

SELECT title
FROM films
GROUP BY language;
column "films.title" must appear in the
GROUP BY clause or be used in an 
aggregate function LINE 1...

AI-correcties:

  • COUNT() functie toevoegen
    SELECT language, COUNT(title) AS count
    FROM films
    GROUP BY language;
    
  • Correcte velden selecteren
    SELECT title, language
    FROM films
    GROUP BY title, language;
    
Gevorderde SQL-query’s met AI

Groepeeropdrachten

Opdracht: Tel films per land en taal

SELECT country, language, COUNT(*) AS film_count
FROM films
GROUP BY country, language;
|country           |language|film_count|
|------------------|--------|----------|
|                  |        |1         |
|Pakistan          |Urdu    |1         |
|Mexico            |English |3         |
|Dominican Republic|Spanish |1         |
...
Gevorderde SQL-query’s met AI

Groeperen en sorteren

Opdracht: Rangschik talen op aantal films, toon de top 3

SELECT language, COUNT(*) AS film_count
FROM films
GROUP BY language
ORDER BY film_count DESC
LIMIT 3;
|language|film_count|
|--------|----------|
|English |4635      |
|French  |72        |
|Spanish |40        |
Gevorderde SQL-query’s met AI

Laten we oefenen!

Gevorderde SQL-query’s met AI

Preparing Video For Download...