I think there should be A.created_date
instead of A.created_at
select `plans`.`name`, `A`.`subscription_id`, `A`.`amount`,
`A`.`created_date`, `A`.`end_date`,
`A`.`subscription_status`, `users`.`email`, `A`.`plan_id`,
`A`.`user_id`, `usage`.`created_at` as `usagedate`, COUNT(usage.id) as
used_count from `subscriptions` A
left join `users` on `users`.`id` = `A`.`user_id`
left join `plans` on `A`.`plan_id` = `plans`.`Id`
left join `usage` on `A`.`user_id` = `usage`.`user_id`
where
`usage`.`created_at` between A.created_date and A.end_date
group by
`A`.`plan_id`
solved Mysql Query error in where clause on left join