Gruppera data

SQL-frågor på mellannivå med AI

Jasmin Ludolf

Senior Data Science Content Developer

Gruppera data

$$

  • Insikter för specifika grupper

$$

  • Kombinera rader med samma värden

$$

  • Skapa sammanfattningar för att hitta mönster

Samling av språkböcker

SQL-frågor på mellannivå med AI

DISTINCT vs. grupper

SELECT DISTINCT language
FROM films;
|language|        
|--------|
|Danish  |
|Greek   |
|Dzongkha|
|...     |
  • Unika värden
  • Vilka språk finns representerade?
SELECT language
FROM films
GROUP BY language;
|language|        
|--------|
|Danish  |
|Greek   |
|Dzongkha|
|...     |
  • Skapar grupper
  • Hur många filmer finns på varje språk?
SQL-frågor på mellannivå med AI

Promptar för gruppering

Prompt: Gruppera filmer efter språk

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

$$

  • Gruppering används ofta med sammanfattningsstatistik:
    • t.ex. antal och medelvärden

$$

  • Ingen specifik förfrågan -> COUNT()
    • Aggregatfunktion
    • Summerar flera rader till ett enda värde
SQL-frågor på mellannivå med AI

Vanliga grupperingsfel

Prompt: Visa alla filmtitlar grupperade efter språk

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-korrigeringar:

  • Lägger till en COUNT()-funktion
    SELECT language, COUNT(title) AS count
    FROM films
    GROUP BY language;
    
  • Väljer rätt fält
    SELECT title, language
    FROM films
    GROUP BY title, language;
    
SQL-frågor på mellannivå med AI

Promptar för gruppering

Prompt: Räkna filmer per land och språk

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         |
...
SQL-frågor på mellannivå med AI

Gruppera och sortera

Prompt: Rangordna språk efter antal filmer och visa topp 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        |
SQL-frågor på mellannivå med AI

Nu kör vi en övning!

SQL-frågor på mellannivå med AI

Preparing Video For Download...