slogan3

Help mij met het schrijven van SQL queries voor data-analyse

description

Met deze prompt kan ik efficiënt SQL queries schrijven die mij helpen waardevolle inzichten uit mijn data te halen. Het verbetert mijn analysecapaciteiten zonder dat ik diepgaande kennis van SQL nodig heb. Het biedt concrete voorbeelden en uitleg, waardoor ik sneller leer en complexere analyses kan uitvoeren dan met alleen basis-SQL-docs.

prompt

Help mij SQL queries te schrijven om data-analyse uit te voeren op mijn dataset. Mijn datasetbeschrijving: <beschrijf je dataset of onderwerp v ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier zijn enkele voorbeeld-SQL queries die je kunnen helpen bij het analyseren van de bestedingspatronen in je dataset 'bestellingen'. Ik geef ook uitleg over de gebruikte functies. 1. Totale omzet per klant ```sql SELECT klant_id, SUM(bedrag) AS totale_besteding FROM bestellingen GROUP BY klant_id ORDER BY totale_besteding DESC; ``` *Uitleg:* - `SUM(bedrag)` berekent de totale uitgaven per klant. - `GROUP BY klant_id` groepeert de data per klant. - `ORDER BY totale_besteding DESC` toont de klanten met de hoogste uitgaven eerst. 2. Gemiddelde besteding per bestelling ```sql SELECT AVG(bedrag) AS gemiddelde_besteding_per_bestelling FROM bestellingen; ``` *Uitleg:* - `AVG(bedrag)` geeft het gemiddelde bedrag per bestelling weer. 3. Aantal bestellingen per maand (trendanalyse) ```sql SELECT DATE_FORMAT(datum, '%Y-%m') AS maand, COUNT(bestelling_id) AS aantal_bestellingen FROM bestellingen GROUP BY maand ORDER BY maand; ``` *Uitleg:* - `DATE_FORMAT(datum, '%Y-%m')` haalt jaar en maand uit de datum voor maandelijkse groepering. - `COUNT(bestelling_id)` telt het aantal bestellingen per maand. 4. Gemiddelde besteding per klant per maand ```sql SELECT klant_id, DATE_FORMAT(datum, '%Y-%m') AS maand, SUM(bedrag) AS maandelijkse_besteding FROM bestellingen GROUP BY klant_id, maand ORDER BY klant_id, maand; ``` *Uitleg:* - Groepeert op klant en maand om het patroon per klant per maand te analyseren. 5. Top 10 klanten op basis van totale uitgaven ```sql SELECT klant_id, SUM(bedrag) AS totale_besteding FROM bestellingen GROUP BY klant_id ORDER BY totale_besteding DESC LIMIT 10; ``` *Uitleg:* - Beperkt de resultaten tot de top 10 klanten met de hoogste uitgaven. Wil je nog meer specifieke analyses of visualisaties?
provider: deepseek
model: deepseek-chat
Absoluut! Hier is een uitgebreide uitleg met SQL queries voor het analyseren van bestedingspatronen in je dataset. ### 1. Basis Samenvatting Statistieken ```sql SELECT COUNT(*) AS totaal_aantal_bestellingen, COUNT(DISTINCT klant_id) AS unieke_klanten, MIN(datum) AS eerste_besteldatum, MAX(datum) AS laatste_besteldatum, SUM(bedrag) AS totaal_omzet, AVG(bedrag) AS gemiddeld_bestelbedrag, MIN(bedrag) AS laagste_bestelling, MAX(bedrag) AS hoogste_bestelling FROM bestellingen; ``` **Functies uitgelegd:** - `COUNT()`: Telt aantal rijen - `COUNT(DISTINCT)`: Telt unieke waarden - `MIN()`/`MAX()`: Vindt minimum/maximum waarden - `SUM()`: Bereken totaalbedrag - `AVG()`: Bereken gemiddelde waarde ### 2. Maandelijkse Omzet Trendanalyse ```sql SELECT YEAR(datum) AS jaar, MONTH(datum) AS maand, COUNT(*) AS aantal_bestellingen, SUM(bedrag) AS maandelijkse_omzet, AVG(bedrag) AS gemiddelde_bestelling FROM bestellingen GROUP BY YEAR(datum), MONTH(datum) ORDER BY jaar, maand; ``` **Functies uitgelegd:** - `YEAR()`: Extraheert jaar uit datum - `MONTH()`: Extraheert maand uit datum - `GROUP BY`: Groepeert resultaten per opgegeven kolommen ### 3. Klantsegmentatie op Bestedingsniveau ```sql SELECT klant_id, COUNT(*) AS aantal_bestellingen, SUM(bedrag) AS totale_besteding, AVG(bedrag) AS gemiddelde_besteding, MAX(bedrag) AS hoogste_bestelling FROM bestellingen GROUP BY klant_id ORDER BY totale_besteding DESC; ``` ### 4. Top 10 Meest Waardevolle Klanten ```sql SELECT klant_id, SUM(bedrag) AS totale_waarde, COUNT(*) AS aantal_transacties, AVG(bedrag) AS gemiddelde_transactie FROM bestellingen GROUP BY klant_id ORDER BY totale_waarde DESC LIMIT 10; ``` ### 5. Dagelijkse Bestelpatronen ```sql SELECT DAYNAME(datum) AS dag_van_week, COUNT(*) AS aantal_bestellingen, SUM(bedrag) AS totale_omzet, AVG(bedrag) AS gemiddelde_omzet FROM bestellingen GROUP BY DAYNAME(datum), DAYOFWEEK(datum) ORDER BY DAYOFWEEK(datum); ``` **Nieuwe functies:** - `DAYNAME()`: Geeft naam van de weekdag - `DAYOFWEEK()`: Geeft numerieke dag van week (1=zondag) ### 6. Groeipercentage Maand tot Maand ```sql WITH maandelijkse_omzet AS ( SELECT YEAR(datum) AS jaar, MONTH(datum) AS maand, SUM(bedrag) AS omzet FROM bestellingen GROUP BY YEAR(datum), MONTH(datum) ) SELECT jaar, maand, omzet, LAG(omzet) OVER (ORDER BY jaar, maand) AS vorige_maand, ROUND(((omzet - LAG(omzet) OVER (ORDER BY jaar, maand)) / LAG(omzet) OVER (ORDER BY jaar, maand)) * 100, 2) AS groei_percentage FROM maandelijkse_omzet ORDER BY jaar, maand; ``` **Geavanceerde functies:** - `WITH`: Creëert een Common Table Expression (CTE) - `LAG()`: Toegang tot vorige rij in result set - `OVER()`: Definieert window voor window functions - `ROUND()`: Afronden van decimalen ### 7. Klant Loyaliteit Analyse (Aankoopfrequentie) ```sql SELECT klant_id, COUNT(*) AS aantal_bestellingen, DATEDIFF(MAX(datum), MIN(datum)) AS klantperiode_dagen, CASE WHEN COUNT(*) > 1 THEN DATEDIFF(MAX(datum), MIN(datum)) / (COUNT(*) - 1) ELSE NULL END AS gemiddelde_dagen_tussen_bestellingen FROM bestellingen GROUP BY klant_id HAVING COUNT(*) > 1; ``` **Nieuwe functies:** - `DATEDIFF()`: Verschil tussen twee datums in dagen - `CASE`: Conditionele logica in SQL - `HAVING`: Filteren op gegroepeerde resultaten ### 8. Bestedingscategorieën Maken ```sql SELECT CASE WHEN bedrag < 50 THEN 'Klein (< €50)' WHEN bedrag BETWEEN 50 AND 100 THEN 'Medium (€50-€100)' WHEN bedrag BETWEEN 100 AND 200 THEN 'Groot (€100-€200)' ELSE 'Zeer groot (> €200)' END AS bestedings_categorie, COUNT(*) AS aantal_bestellingen, SUM(bedrag) AS totale_waarde FROM bestellingen GROUP BY bestedings_categorie ORDER BY totale_waarde DESC; ``` ### Tips voor verdere analyse: 1. **Voeg WHERE clauses toe** om specifieke periodes te filteren 2. **Gebek JOINs** als je klantinformatie in andere tabellen staat 3. **Experimenteer met verschillende groeperingen** om nieuwe inzichten te vinden 4. **Sla queries op** als views voor regelmatige rapportage Deze queries geven je een solide basis om bestedingspatronen, klantgedrag en trends in je data te analyseren!