-- 1.1 Nima nima ko'rsatadigan so'rov:
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 Agar JOIN turini LEFT ga o'zgartirsangiz, javob qanday o'zgaradi?
-- 1.3 Bu so'rovda operatorlarning bajarilish tartibini ko'rsating.
-- 2. campaigns jadvali tuzatildi: takrorlanishlar olib tashlandi, kalit (PK) qo'shildi.
-- Ko'proq kampaniyalar o'tkazildi, xatolar tufayli foydalanuvchilarning yetkazib berish urinishlari muvaffaqiyatsiz bo'ldi, va ba'zilari umuman ko'rsatilmadi.
-- Misol 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 |
-- Misol 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 |
-- Foydalanuvchilarga yuborilgan promo-kampaniyalar haqida:
-- 2.1 Har bir kampaniya uchun muvaffaqiyatli olgan foydalanuvchilar sonini chiqaradigan so'rov yozing.
-- 2.2 So'rovni o'zgartiring, har bir kampaniya uchun hech qanday muvaffaqiyatli aloqa olmagan foydalanuvchilar sonini chiqarish uchun.