Sobes.tech
Senior

-- 1.1 Cosa mostrerà la query: 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 Come cambierà la risposta se si cambia il tipo di JOIN in LEFT? -- 1.3 Indicare l'ordine di esecuzione degli operatori in questa query. -- 2. La tabella campaigns è stata corretta: sono stati rimossi i duplicati, aggiunta la chiave (PK). -- Sono state condotte più campagne, a causa di bug alcuni utenti hanno iniziato a ricevere tentativi di consegna delle comunicazioni falliti, e alcuni non sono riusciti a mostrare nulla. -- Esempio 1: communications -- | user_id | campaign | status | -- | 1000001 | promo_cats | error | -- | 1000001 | promo_cats | error | -- | 1000001 | promo_cats | success| -- | 1000001 | promo_cats | success| -- | 1000001 | promo_cats | error | -- Esempio 2: communications -- | user_id | campaign | status | -- | 1000002 | promo_rats | error | -- | 1000002 | promo_rats | error | -- | 1000002 | promo_rats | error | -- | 1000002 | promo_rats | error | -- | 1000002 | promo_rats | error | -- Sulle campagne promozionali inviate agli utenti: -- 2.1 Scrivi una query che mostra il numero di utenti che hanno ricevuto con successo la comunicazione, per ogni campagna. -- 2.2 Modifica la query per mostrare: il numero di utenti che non hanno ricevuto nessuna comunicazione di successo, per ogni campagna.