Preskočiť na obsah
Ákos Kappel
Jazyk: sk
Téma
Svetlé
Tmavé

Advent of SQL

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

Stránka výzvy Advent of SQL

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