Advent of SQL
Denné databázové úlohy riešené v PostgreSQL.

O projekte
Advent of SQL je decembrová výzva v štýle Advent of Code, ale každá úloha je databáza: každý deň prinesie PostgreSQL dump o Santovej dielni a otázku, na ktorú treba odpovedať dotazom.
Vyriešil som prvých jedenásť dní ročníka 2024 v čistom SQL, každý deň v jednom súbore s odpoveďou zapísanou pod dotazom. Úlohy idú nad rámec spájania a zoskupovania tabuliek a vyžadujú okenné funkcie, rekurzívne dotazy a prácu s JSON a XML.
Ako to funguje
- Okenné funkcie ako LAG a ROW_NUMBER na porovnanie riadkov so susedmi a poradie v rámci skupín
- Kĺzavý priemer za posledné tri sezóny pomocou okna ROWS BETWEEN
- Rekurzívne CTE na prechod hierarchiou manažérov a zistenie jej hĺbky
- XML menu uložené v troch rôznych verziách schémy, rozlíšené cez xpath_exists a čítané cez XPath
- Čítanie hodnôt z JSONB stĺpcov a porovnanie polí cez EXCEPT a INTERSECT na nájdenie pridaných, zachovaných a odstránených značiek
- Dekódovanie skrytej správy filtrovaním kódov znakov a ich spojením cez string_agg
- Kedy
- 2024
- Typ
- Osobný
- Technológie
- PostgreSQL