Tutorial2026-01-107 min

SQL til dataanalyse: De vigtigste forespørgsler du skal kende

SQL er det mest efterspurgte tekniske skill for dataanalytikere. Lær de forespørgsler der dækker 80% af daglig analyse.

SQL til dataanalyse: De vigtigste forespørgsler du skal kende

SQL er det universelle sprog til at arbejde med data. Uanset om du bruger Power BI, Tableau eller Python, er SQL-viden fundamentet for effektiv dataanalyse. Her er de vigtigste teknikker der dækker størstedelen af analytiske behov.

Aggregering med GROUP BY er kernen i analytisk SQL. Ved at gruppere data efter dimensioner som produkt, region eller tidsperiode og anvende aggregeringsfunktioner som SUM, COUNT, AVG og MAX, kan du besvare fundamentale forretningsspørgsmål: total omsætning per produktkategori, gennemsnitlig ordrestørrelse per kundesegment, antal kunder per region.

HAVING filtrerer grupperede resultater, i modsætning til WHERE der filtrerer individuelle rækker. Brug HAVING til at finde grupper der opfylder bestemte kriterier: "Vis kun produktkategorier med total omsætning over 1 million."

Window functions er det mest kraftfulde analytiske værktøj i SQL. ROW_NUMBER nummererer rækker inden for en partition, RANK rangerer med huller, og DENSE_RANK rangerer uden huller. LAG og LEAD giver adgang til forrige og næste rækkes værdier, hvilket muliggør period-over-period beregninger.

Running totals og glidende gennemsnit beregnes med SUM og AVG som window functions. SUM(salg) OVER (ORDER BY dato ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) giver den kumulative sum. Erstat UNBOUNDED PRECEDING med "6 PRECEDING" for et 7-dages glidende gennemsnit.

Common Table Expressions (CTEs) med WITH-klausulen organiserer komplekse forespørgsler i navngivne, genbrugelige blokke. CTEs gør SQL-kode læsbar og vedligeholdelsesvenlig. Rekursive CTEs kan traversere hierarkier som organisationsdiagrammer eller produktkategorier.

CASE-statements implementerer betinget logik direkte i SQL. Brug dem til at oprette kundesegmenter, kategorisere værdier eller beregne betingede aggregeringer. CASE WHEN ordrevaerdi > 1000 THEN 'Premium' WHEN ordrevaerdi > 500 THEN 'Standard' ELSE 'Basis' END.

JOINs kombinerer data fra flere tabeller. INNER JOIN returnerer kun matchende rækker, LEFT JOIN inkluderer alle rækker fra venstre tabel, og FULL OUTER JOIN inkluderer alle rækker fra begge tabeller. Forståelse af JOIN-typer er afgørende for at undgå duplikerede eller manglende rækker i analytiske resultater.

Relateret video

SQL Tutorial for Data Analysis