Предполагая, что все строки имеют даты на 2018 год, с помощью этого:
select customer from customers
group by customer
having count(distinct date) = 12
вы можете получить всех клиентов, у которых есть строки для каждого месяца 2018 года.Поэтому вам нужно присоединить его к основной таблице:
select c.* from (
select customer from customers
group by customer
having count(distinct date) = 12
) t inner join customers c
on c.customer = t.customer
order by c.customer, c.date
Если есть даты и для других лет:
select c.* from (
select customer from customers
where substr(date, 1, 4) = '2018'
group by customer
having count(distinct date) = 12
) t inner join customers c
where substr(c.date, 1, 4) = '2018'
on c.customer = t.customer
order by c.customer, c.date