Wbudowane funkcje agregujące — część 2
Część sekcji Podstawy ścieżki SQL w Coddy. Lekcja 35 z 72.
Czasami musimy używać funkcji agregujących w bardziej złożony sposób, na przykład porównując każdy wiersz z wartością agregującą. W takich sytuacjach przydają się zapytania zagnieżdżone.
Gdy chcesz wykonać obliczenia łączące poszczególne wiersze z wartościami zagregowanymi, musisz użyć zagnieżdżonego zapytania. Oto dlaczego:
To nie da wyniku dla każdego wiersza, którego oczekujesz:
SELECT value + MIN(value)
FROM table1Powodem jest to, że funkcje agregujące działają na całej kolumnie, podczas gdy odwołanie do „value” próbuje działać wiersz po wierszu. Aby to rozwiązać, używamy zapytania zagnieżdżonego:
SELECT value + (SELECT MIN(value) FROM table1)
FROM table1Działa to, ponieważ zagnieżdżone zapytanie (SELECT MIN(value) FROM table1) jest wykonywane jako pierwsze i zwraca pojedynczą wartość, której można następnie użyć w zapytaniu głównym dla każdego wiersza.
Typowe zastosowania agregatów zagnieżdżonych:
1. Porównywanie każdej wartości ze średnią
2. Obliczanie procentu całości
3. Znajdowanie różnic względem wartości maksymalnych lub minimalnych
Wyzwanie
ŁatwyDostępne tabele i kolumny:
items:id,price
Oblicz, o ile cena każdego przedmiotu przekracza średnią cenę wszystkich przedmiotów. Wyświetl identyfikator przedmiotu, jego cenę oraz różnicę względem średniej. Nazwij kolumnę z różnicą diff_from_avg.
Uporządkuj wyniki według różnicy w kolejności malejącej.
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