Gruplandırılmış verileri filtreleme

AI ile Orta Düzey SQL Sorgulama

Jasmin Ludolf

Senior Data Science Content Developer

WHERE veya HAVING

Hangi dillerin 20'den fazla filmi var?

  • Dil sayısı: toplandı ve gruplandı

 

WHERE

  • Bireysel satırlar
  • Hangi bireysel filmler bu koşulu karşılıyor?

$$

$$

$$

HAVING

  • Gruplandırılmış sonuçlar
  • Hangi gruplar bu koşulu karşılıyor?
AI ile Orta Düzey SQL Sorgulama

Gruplandırılmış verileri filtreleme

İstem: Hangi dillerin 20'den fazla filmi var?

SELECT language, COUNT(*) AS lang_count
FROM films
GROUP BY language
HAVING COUNT(*) > 20;
|language|
|--------|
|Mandarin|
|Spanish |
|French  |
|Hindi   |
|English |

$$

  • Filtreler sonrası:
    • Gruplama
    • Toplamalar
    • Sayımlar mevcut olduğunda
AI ile Orta Düzey SQL Sorgulama

Grup filtreleri için istem

İstem: 5 milyonun üzerinde bütçeye sahip film başlıkları ve bütçeleri

SELECT title, budget
FROM films
WHERE budget > 5000000;
|title          |budget |
|---------------|-------|
|Metropolis     |6000000|
|Duel in the Sun|8000000|
|Quo Vadis      |7623000|
|West Side Story|6000000|
...

İstem: Yuvarlanmış ortalama bütçesi 5 milyonun üzerinde olan diller ve bütçeleri

SELECT language, ROUND(AVG(budget)) AS avg_budget
FROM films
GROUP BY language
HAVING ROUND(AVG(budget)) > 5000000;
|language|avg_budget|
|--------|----------|
|Danish  |16700000  |
|None    |8250000   |
|Tamil   |150000000 |
...
AI ile Orta Düzey SQL Sorgulama

Filtreleri birleştirme

İstem: 2000'den itibaren 5'ten fazla film olan ve ortalama süresi 80'i aşan dilleri göster

AI ile Orta Düzey SQL Sorgulama

Filtreleri birleştirme

İstem: 2000'den itibaren 5'ten fazla film olan ve ortalama süresi 80'i aşan dilleri göster

SELECT language, COUNT(*) AS film_count, ROUND(AVG(duration)) AS average_duration
FROM films

WHERE release_year >= 2000
GROUP BY language
AI ile Orta Düzey SQL Sorgulama

Filtreleri birleştirme

İstem: 2000'den itibaren 5'ten fazla film olan ve ortalama süresi 80'i aşan dilleri göster

SELECT language, COUNT(*) AS film_count, ROUND(AVG(duration)) AS average_duration
FROM films
WHERE release_year >= 2000
GROUP BY language

AI ile Orta Düzey SQL Sorgulama

Filtreleri birleştirme

İstem: 2000'den itibaren 5'ten fazla film olan ve ortalama süresi 80'i aşan dilleri göster

SELECT language, COUNT(*) AS film_count, ROUND(AVG(duration)) AS average_duration
FROM films
WHERE release_year >= 2000
GROUP BY language

HAVING COUNT(*) > 5 AND ROUND(AVG(duration)) > 80;
|language|film_count|average_duration|
|--------|----------|----------------|
|Mandarin|26        |112             |
|Japanese|10        |114             |
|Spanish |37        |107             |
...
AI ile Orta Düzey SQL Sorgulama

İşlem sırası

$$

FROM

Bir montaj hattı

AI ile Orta Düzey SQL Sorgulama

İşlem sırası

$$

FROMWHERE

Bir montaj hattı

AI ile Orta Düzey SQL Sorgulama

İşlem sırası

$$

FROMWHEREGROUP BY (ve toplama) ➝

Bir montaj hattı

AI ile Orta Düzey SQL Sorgulama

İşlem sırası

$$

FROMWHEREGROUP BY (ve toplama) ➝ HAVING

Bir montaj hattı

AI ile Orta Düzey SQL Sorgulama

İşlem sırası

$$

FROMWHEREGROUP BY (ve toplama) ➝ HAVINGSELECT

Bir montaj hattı

AI ile Orta Düzey SQL Sorgulama

İşlem sırası

$$

FROMWHEREGROUP BY (ve toplama) ➝ HAVINGSELECTORDER BY

Bir montaj hattı

AI ile Orta Düzey SQL Sorgulama

İşlem sırası

$$

FROMWHEREGROUP BY (ve toplama) ➝ HAVINGSELECTORDER BYLIMIT

Bir montaj hattı

AI ile Orta Düzey SQL Sorgulama

Filtre istemleri

Her ikisi de: 2000'den itibaren, ortalama süresi 80'i aşan filmler

WHERE: Bireysel kayıtlar

  • 2024 sonrası çıkan film başlıkları
  • 5 milyonun üzerinde bütçeler

HAVING: Toplamları belirtir

  • Ortalama bütçesi 10000'i aşan diller
  • 5'ten fazla film sayısı

Kağıt üzerinde kalem

AI ile Orta Düzey SQL Sorgulama

Yinelemeli istem

$$

1) Küçük başlayın

2) Sonuçları kontrol edin

3) Daha fazla detay eklemek için tekrar isteyin

4) Tekrar edin!

3D konuşma balonları, biri AI diğeri üç nokta

AI ile Orta Düzey SQL Sorgulama

Pratik zamanı!

AI ile Orta Düzey SQL Sorgulama

Preparing Video For Download...