Grupowanie — część 2
Część sekcji Podstawy ścieżki SQL w Coddy. Lekcja 37 z 72.
Słowo kluczowe WHERE sprawdza warunek osobno dla każdego rekordu. Na przykład:
SELECT * FROM table1
WHERE col1 > col2Warunek col1 > col2 zostanie sprawdzony dla każdego rekordu.
Ale co, jeśli chcemy filtrować wyniki agregacji? Na przykład:
SELECT category, AVG(price) FROM table1
WHERE AVG(price) > 40
GROUP BY categoryTo nie zadziała, ponieważ WHERE nie może sprawdzać agregacji. Do tego służy słowo kluczowe HAVING. Filtruje ono dane według warunku agregującego.
SELECT category, AVG(price) FROM table1
GROUP BY category
HAVING AVG(price) > 40To odfiltruje wszystkie kategorie, dla których średnia cena jest większa niż 40.
Jeśli chcemy połączyć klauzule HAVING i WHERE, napiszemy:
SELECT category, AVG(price) FROM table1
WHERE price > 25
GROUP BY category
HAVING AVG(price) > 40Najpierw przejdzie rekord po rekordzie i odfiltruje wszystkie rekordy, w których cena jest większa niż 25, a dopiero potem wykona klauzulę GROUP BY i odfiltruje każdą kategorię, w której średnia cena jest większa niż 40.
Wyzwanie
ŚredniDostępne tabele i kolumny:
earthquakes:location,amplitude,period
Skala Richtera jest skalą logarytmiczną używaną do mierzenia magnitudy trzęsień ziemi.
Musimy zwrócić średnią magnitudę dla każdej lokalizacji, uwzględniając wszystkie duże trzęsienia ziemi.
Duże trzęsienie ziemi definiuje się jako takie, w którym:
- Amplituda jest większa lub równa 1
- Okres fal jest większy lub równy 1 minucie
W tym wyzwaniu użyjemy innego wzoru: M = (A/T)^2 / T, który jest równoważny M = ((A/T)*(A/T)) / T. Tutaj M to magnituda, A to kolumna amplitude, a T to kolumna period.
Zwróć lokalizację i średnią magnitudę dla każdej lokalizacji, uwzględniając tylko duże trzęsienia ziemi (nazwij kolumnę avg_magnitude). Uwzględnij w wyniku tylko lokalizacje, w których avg_magnitude jest większe niż 1.
Zaokrąglij wyniki do 2 miejsc po przecinku.
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Więcej słów kluczowych
Słowo kluczowe INSłowo kluczowe BETWEENSłowo kluczowe LIKESłowo kluczowe ASPowtórzenie – modele telefonów komórkowych2Instrukcje warunkowe
Podstawy instrukcji warunkowychSłowo kluczowe ANDSłowo kluczowe ORSłowo kluczowe NOTŁączenie wielu warunkówNawiasyWartości logiczne3Określony format zwracanych danych
Wartości nullSortowanie wyników — część 1Sortowanie wyników — część 2Powtórzenie — firma zajmująca się cyberbezpieczeństwemOgraniczanie liczby rekordówPowtórzenie — fabryka pojazdów6Wyzwania na początek
Powtórka – wybory parlamentarnePowtórka – zatrzymanie przestępcy przez policjęPowtórka – pojemnik na napój w barzePowtórka – inżynier: nowe kolumnyPoćwicz samodzielnie: Edytor online SQL