Sobes.tech
Intern

-- Marketer starten Promotionskampagnen in der Service-App. Es gibt zwei Tabellen: -- campaigns – Liste der Kampagnen -- - campaign – Name der Kampagne -- - action_type – Kampagnentyp: "push" oder "banner" -- communications – Backend-Log mit den Versandprotokollen dieser Kampagnen an die Nutzer -- - user_id – Nutzer-ID -- - campaign – Name der Kampagne -- - status – Status des Ereignisses: "success" oder "error" --------------------------------------------------------------------------- -- 1. Anfangs gibt es in der Tabelle campaigns 4 Zeilen: -- | campaign | action_type | -- |-------------|-------------| -- | promo_dogs | push | <- zufällig dupliziert -- | promo_cats | banner | -- | promo_cats | banner | <- zwei Zeilen -- | promo_rats | push | -- Es ist auch bekannt, dass: -- die Kampagnen promo_dogs und promo_cats erfolgreich bei 100 Nutzern durchgeführt wurden, wobei jeder Nutzer eine Kommunikation erhielt, -- und promo_rats ist nur in Planung. -- 1.1 Was die Abfrage ausgibt: SELECT campaign, COUNT(*) as rows, COUNT(DISTINCT co.user_id) AS users FROM campaigns AS ca INNER JOIN communications AS co ON ca.campaign = co.campaign GROUP BY ca.campaign AS campaign -- 1.2 Wie sich die Antwort ändert, wenn der JOIN-Typ auf LEFT geändert wird?