W dzisiejszym świecie analityki finansowej dane to waluta sukcesu. Dzięki dobrze przemyślanym zapytaniom SQL, możemy w szybki i precyzyjny sposób analizować ogromne ilości danych, wychwytywać trendy, kontrolować płynność finansową i wspierać podejmowanie decyzji biznesowych. W tym artykule przyjrzymy się trzem praktycznym zapytaniom SQL, które są nieocenione w codziennej pracy analityka finansowego.
WITH s AS (
SELECT f.Kanal, f.ProduktID, SUM(f.Netto) AS Przychody
FROM Faktury f
GROUP BY f.Kanal, f.ProduktID
),
r AS (
SELECT s.*,
ROW_NUMBER() OVER (PARTITION BY s.Kanal ORDER BY s.Przychody DESC) AS rn
FROM s
)
SELECT r.Kanal, r.ProduktID, r.Przychody
FROM r
WHERE r.rn <= 3
ORDER BY r.Kanal, r.Przychody DESC;

Dlaczego to zapytanie jest ważne?
To klasyka, jeśli chodzi o analizę sprzedaży. Zapytanie pozwala wyciągnąć 3 najlepiej sprzedające się produkty w każdym kanale sprzedaży (np. online, hurt, detal). Dzięki funkcji ROW_NUMBER()
oraz grupowaniu według kanału, mamy błyskawiczny wgląd w strukturę przychodów.
Co nam mówi wynik?
- Które produkty generują największe przychody w danym kanale.
- Gdzie warto inwestować w promocję.
- Czy są różnice w popularności produktów między kanałami.
Zastosowanie w praktyce
Idealne dla działów sprzedaży, marketingu i controllingu. Można na tej podstawie ustawić targety sprzedażowe, zoptymalizować stany magazynowe lub dostosować ofertę do preferencji klientów w danym kanale.
Średnie DSO dla kontrahentów – czyli kto płaci, a kto zalega
SELECT k.Kontrahent,
ROUND(AVG(julianday(f.DataPlatnosci) – julianday(f.Data)),1) AS SrednieDSO,
COUNT(*) AS LiczbaFaktur
FROM Faktury f
JOIN Kontrahenci k ON k.KontrahentID = f.KontrahentID
WHERE f.DataPlatnosci IS NOT NULL
GROUP BY k.Kontrahent
ORDER BY SrednieDSO DESC;

Co analizuje to zapytanie?
To bardzo praktyczna analiza wskaźnika DSO (Days Sales Outstanding), czyli średniego czasu spływu należności od kontrahentów. Pokazuje, jak długo czekamy na pieniądze po wystawieniu faktury.
Dlaczego to kluczowe w finansach?
- DSO to jeden z najważniejszych wskaźników płynności finansowej.
- Im wyższe DSO, tym większe ryzyko opóźnień i problemów z cash flow.
- Ranking kontrahentów wg średniego DSO pozwala szybko zidentyfikować „problemowych” klientów.
Zastosowanie w praktyce
Przydatne dla działu windykacji, księgowości i zarządu. Warto ustawić limity kredytowe, negocjować krótsze terminy płatności lub rozważyć wcześniejsze działania windykacyjne wobec kontrahentów z wysokim DSO.
Analiza przeterminowanych należności – kontrola płynności finansowej
WITH base AS (
SELECT f.*,
CAST((julianday(’2025-08-05′) – julianday(f.Termin)) AS INT) AS DniPoTerminie
FROM Faktury f
WHERE f.DataPlatnosci IS NULL
)
SELECT k.Kontrahent,
SUM(CASE WHEN DniPoTerminie BETWEEN 0 AND 30 THEN Netto ELSE 0 END) AS N_0_30,
SUM(CASE WHEN DniPoTerminie BETWEEN 31 AND 60 THEN Netto ELSE 0 END) AS N_31_60,
SUM(CASE WHEN DniPoTerminie BETWEEN 61 AND 90 THEN Netto ELSE 0 END) AS N_61_90,
SUM(CASE WHEN DniPoTerminie > 90 THEN Netto ELSE 0 END) AS N_90_plus
FROM base b
JOIN Kontrahenci k ON k.KontrahentID = b.KontrahentID
GROUP BY k.Kontrahent
ORDER BY N_90_plus DESC, N_61_90 DESC, N_31_60 DESC, N_0_30 DESC;
Na czym polega to zapytanie?

Analizuje wszystkie nieopłacone faktury, dzieląc je na kategorie przeterminowania (np. 0–30 dni, 31–60 dni itd.). Dzięki temu w jednym widoku mamy pełną mapę opóźnionych należności.
Korzyści z zastosowania
- Pokazuje, ile pieniędzy „wisi” w przeterminowanych fakturach.
- Pomaga określić, którzy kontrahenci mają najwięcej przeterminowanego zadłużenia.
- Ułatwia priorytetyzację działań windykacyjnych.
Zastosowanie w praktyce
To zapytanie powinno być częścią codziennego dashboardu analityka finansowego. Może też służyć jako podstawa do raportów dla zarządu lub działań prewencyjnych – np. zablokowania nowych dostaw dla nierzetelnych klientów.
Współpraca działów: Jak te dane finansowe wspierają inne obszary firmy?
Analiza danych finansowych to nie tylko domena księgowości czy controllingu. To materiał źródłowy dla wielu działów:
Sprzedaż
- Wie, które produkty przynoszą największy zysk (nie tylko przychód!).
- Może dostosować ofertę do najbardziej zyskownych kanałów sprzedaży.
- Ma pod ręką ranking kontrahentów pod kątem rzetelności płatniczej.
Marketing
- Może inwestować budżet w promocję produktów o największej marży.
- Wie, w jakich kanałach sprzedaż działa najlepiej – co pozwala lepiej targetować kampanie.
Zarząd i strategia
- Otrzymuje pełniejszy obraz kondycji finansowej firmy.
- Może podejmować decyzje inwestycyjne na podstawie twardych danych.
- Lepiej ocenia ryzyko – np. związane z jednym dużym, ale niepłacącym klientem.
SQL to jedno z najpotężniejszych narzędzi w arsenale analityka finansowego. Proste zapytania mogą odkryć ogromne wartości ukryte w codziennych operacjach. Dzięki nim możliwe jest lepsze zarządzanie płatnościami, kontrola przychodów, a nawet podejmowanie strategicznych decyzji oparte na danych.
Nie trzeba być programistą, by używać SQL w analizie finansowej. Wystarczy zrozumieć potrzeby firmy, dobrze znać strukturę danych – i zadać właściwe pytanie.