Sobes.tech
Senior

-- # -- Marketing mutaxassislari xizmat dasturida promo-aksiyalarni boshlashmoqda. Ikkita jadval mavjud: -- # -- campaigns - kampaniya ro'yxati -- # -- - campaign - kampaniya nomi -- # -- - action_type - kampaniya turi: "push" yoki "banner" -- # -- communications - bu kampaniyalarning foydalanuvchilarga yuborilgan kommunikatsiyalarining backend yozuvi -- # -- - user_id - foydalanuvchi identifikatori -- # -- - campaign - kampaniya nomi -- # -- - status - voqea holati: "success" yoki "error" -- ------------------------------------------------------------------------------------------------------------------------ -- # -- 1. Dastlab, campaigns jadvalida 4 qator mavjud: -- # -- | campaign | action_type | -- # -- |-------------|-------------| -- # -- | promo_dogs | push | -- # -- | promo_cats | banner | <- tasodifan takrorlangan -- # -- | promo_cats | banner | <- ikki qator -- # -- | promo_rats | push | # # -- Bundan tashqari, quyidagilar ma'lumki: -- # -- promo_dogs va promo_cats kampaniyalari 100 foydalanuvchi bilan muvaffaqiyatli o'tkazildi va har bir foydalanuvchi bitta kommunikatsiya oldi, -- # -- promo_rats esa faqat rejalashtirilmoqda. -- # -- 1.1 So'rov nima chiqaradi: 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 -- # -- 1.2 Agar JOIN turi LEFT ga o'zgartirilsa, javob qanday o'zgaradi? -- # -- 1.3 Bu so'rovda operatorlarning bajarilish tartibini ko'rsating. -- Javob: promo_dogs ... ...