Select count date from multiple where conditions for each day
SELECT count(id)                                       as number_of_coupons,
       DATE_FORMAT(assigned_date, '%d-%m-%Y')          as date,
       SUM(CASE WHEN campaign_id=1 THEN 1 ELSE 0 END)  as campaign_1,
       SUM(CASE WHEN campaign_id=2 THEN 1 ELSE 0 END)  as campaign_2
FROM coupon
GROUP BY DATE_FORMAT(assigned_date, '%d-%m-%Y')
order by STR_TO_DATE(date, '%d-%m-%Y') DESC