Přístup k hodnotám z předchozího řádku
Funkce LAG() ti umožňuje přistupovat k řádkům předcházejícím aktuálnímu.
Syntaxe je následující:
LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)
V tomto cvičení tuto funkci využiješ ve svém dotazu. Budeš analyzovat hodnocení čokoládových tyčinek od společnosti „Fruition".
Tato společnost vyrábí čokoládu z kakaa pocházejícího z různých oblastí světa.
Chceš zjistit, zda existuje závislost mezi procentem kakaa a obdrženým hodnocením u tyčinek ze stejné lokality. Za tímto účelem porovnáš procento kakaa každé tyčinky s procentem tyčinky, která obdržela předchozí hodnocení. Poté vypočítáš rozdíl těchto hodnot a výsledky interpretuješ.
Toto cvičení je součástí kurzu
Funkce pro práci s daty v SQL Serveru
Pokyny k cvičení
- Vytvoř nový sloupec zobrazující procento kakaa čokoládové tyčinky, která obdržela nižší hodnocení, přičemž kakao pochází ze stejné lokality (stejná hodnota
broad_bean_origin). - Vytvoř nový sloupec s rozdílem mezi procentem kakaa aktuální tyčinky a procentem předchozí tyčinky.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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;