Zacznij terazZacznij za darmo

Dostęp do wartości z poprzedniego wiersza

Funkcja LAG() umożliwia dostęp do wierszy poprzedzających bieżący wiersz w zapytaniu.

Składnia jest następująca: LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

W tym ćwiczeniu użyjesz tej funkcji w zapytaniu. Przeanalizujesz oceny czekolad wyprodukowanych przez firmę „Fruition".

Firma ta produkuje czekoladę z kakao pochodzącego z różnych regionów świata.

Chcesz sprawdzić, czy istnieje zależność między procentową zawartością kakao a przyznaną oceną – dla batonów z tego samego miejsca pochodzenia. W tym celu porównasz zawartość kakao w każdym batonie z zawartością kakao w batonie, który otrzymał poprzednią ocenę. Następnie obliczysz różnicę między tymi wartościami i zinterpretujesz wyniki.

To ćwiczenie jest częścią kursu

Funkcje do manipulowania danymi w SQL Server

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz nową kolumnę pokazującą procentową zawartość kakao w batonie czekolady, który otrzymał niższą ocenę, przy kakao z tego samego miejsca pochodzenia (ta sama wartość broad_bean_origin).
  • Utwórz nową kolumnę z różnicą między zawartością kakao w bieżącym batonie a zawartością kakao w poprzednim batonie.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

SELECT 
	broad_bean_origin AS bean_origin,
	rating,
	cocoa_percent,
    -- Retrieve the cocoa % of the bar with the previous rating
	___(___) 
		OVER(___ broad_bean_origin ORDER BY ___) AS percent_lower_rating
FROM ratings
WHERE company = 'Fruition'
ORDER BY broad_bean_origin, rating ASC;
Edytuj i uruchom kod