A kérdések a korábban létrehozott adatbázis sémára épülnek (versenyzők, versenyek, futamok, eredmények). A kérdések progresszív nehézségi sorrendben követik egymást. Ezek a kérdések a leggyakoribb rangsoroló ablakfüggvényekre fókuszálnak: `ROW_NUMBER()`, `RANK()`, `DENSE_RANK()`, és `NTILE()`. 1. Minden futamban rangsorold a versenyzőket az idejük alapján növekvő sorrendben. 2. Minden futamban add meg az azonos helyezést elért versenyzőknek is azonos rangot, kihagyásokkal (`RANK()`). 3. Ugyanezt a rangsort add meg kihagyások nélkül (`DENSE_RANK()`). 4. Minden futamban adj egy sorszámot minden versenyzőnek. 5. A döntőben rangsorold a versenyzőket az idejük alapján, majd add hozzá az országukat is a kimenethez. 6. A férfi 100 méteres síkfutás előfutamaiban rangsorold a versenyzőket az idejük alapján. 7. A női 400 méteres síkfutás döntőjében rangsorold a versenyzőket az idejük alapján. 8. Minden futamban osszad fel a versenyzőket négy csoportra (negyedekre) az idejük alapján. 9. A férfi 110 méteres gátfutás előfutamában osszad fel a versenyzőket két csoportra. 10. A `RANK()` függvényt használva keresd meg a legjobb 3 versenyzőt minden futamban. Ezek a kérdések a futamokon belüli kumulatív vagy mozgó összesítésekre fókuszálnak, például futó összegekre, átlagokra vagy minimum/maximum értékekre. 11. Minden futamban számítsd ki a kumulatív átlagos időt a versenyzők rangsorolása alapján. 12. Minden futamban számítsd ki az addigi legjobb időt minden versenyzőre. 13. A döntőben minden versenyzőre add meg az előző helyezett idejét. 14. A `LEAD()` és `LAG()` függvényeket használva listázd ki a döntőben minden versenyző nevét, idejét, és az utána és előtte lévő versenyző nevét és idejét. 15. Minden futamban számítsd ki a mozgó átlagos időt a versenyzők között az aktuális és az előző két versenyző adatait felhasználva. 16. A középdöntőkben számítsd ki a kumulatív időt minden versenyzőre. 17. A férfi 100 méteres döntőben mutasd meg, hány másodperccel volt lassabb minden versenyző az előtte lévőnél. 18. A `SUM()` függvényt használva számítsd ki a kumulatív összeget minden futamban, az idő alapján. 19. A `COUNT()` függvénnyel számold ki minden futamban, hogy az adott versenyző előtt hányan értek célba. 20. Minden futamban számítsd ki a versenyző idejének és az adott futam átlagos idejének a különbségét. Ezek a kérdések a bonyolultabb, több ablakfüggvényt vagy ablakfüggvényt és más SQL funkciókat kombináló lekérdezésekre összpontosítanak. 21. Az előfutamokból válaszd ki azokat a versenyzőket, akik a `RANK()` szerint a legjobb 3 helyen végeztek. 22. Keresd meg a leggyorsabb versenyzőt minden futamban, és adj mellé egy oszlopot, ami jelzi, hogy "leggyorsabb" vagy "nem leggyorsabb". 23. Határozd meg minden futamban, hogy az adott versenyző ideje mennyire tér el a futamon belüli leglassabb időtől. 24. A középdöntőkben azonosítsd azokat a versenyzőket, akik a két leglassabb időt érték el. 25. A `DENSE_RANK()` függvényt használva mutasd be, hogy azonos idővel a harmadik helyen végzett két versenyző hogyan kapja meg ugyanazt a rangot, majd a következő versenyző a negyediket. 26. Keresd meg a férfi 100 méteres síkfutásban minden ország legjobb idejét, és rangsorold az országokat ez alapján. 27. A döntőben mutasd meg, hogy minden versenyző hányadik helyen végzett, és hogy hány versenyző volt még a futamban. 28. Válaszd ki a leggyorsabb időt minden `futam_tipus`-ra (pl. "előfutam", "döntő"), és rangsorold ezeket a típusokat. 29. A `LEAD()` függvénnyel mutasd meg a férfi 100 méteres döntőben a második és a harmadik helyezett időeredményét. 30. Készíts egy riportot, amely minden futamra listázza a versenyzőket, az idejüket és a futamon belüli legjobb időt. Ezek a kérdések a haladó ablakfüggvények használatát igénylik, valamint a `FILTER` és `HAVING` záradékok kombinálását. 31. Számítsd ki minden futamra az átlagos időt, és add meg ezt az értéket egy új oszlopban minden sorhoz. 32. Hasonlítsd össze minden versenyző idejét a saját futamának átlagos idejével. 33. Készíts egy lekérdezést, amely megmutatja minden versenyzőre, hogy az adott futamban hányan értek el jobb időt, mint ő. 34. A női 400 méteres döntőben mutasd meg a győztes nevét, idejét, valamint a második és harmadik helyezett nevét. 35. `NTILE()` függvénnyel oszd fel a férfi 100 méteres síkfutás összes versenyzőjét (előfutamok, középdöntők) 10 egyenlő csoportra az idejük alapján. 36. Válaszd ki azokat a versenyzőket a középdöntőkből, akik az idejük alapján bekerültek volna a legjobb 8-ba, ha a rangsorolás az összes középdöntős időt figyelembe veszi. 37. Számítsd ki minden futamra a legjobb és a legrosszabb idő közötti különbséget. 38. Keresd meg minden futamban az időeredmények mediánját. 39. Készíts egy lekérdezést, amely megmutatja a győztes nevét és idejét az összes futamból, ahol a futam típusa 'donto'. 40. Végezz egy futó átlagszámítást minden futamon, az aktuális és az azt megelőző két versenyző idejét figyelembe véve.