Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Contando novos clientes por mês


Comece definindo um novo cliente
select distinct FirstTimer.customer_id 
from
(select customer_id,min(order_date) as FirstOrderDate
from tblOrder 
group by customer_id
having Month(min(order_date))=month(TargetDate) and
       year(min(order_date))=year(targetDate)
) FirstTimer
join tblOrder ot on ot.customer_id=First_timer.customer_id
where ot.order_date > target_date

A primeira parte encontra todos os clientes cujo primeiro pedido foi no mês indicado. Você então quer apenas os clientes que TAMBÉM atenderam à segunda condição (pedidos após a data prevista)

Sem nomes e estruturas de tabelas, não é possível criar a consulta inteira, mas espero que o acima seja um começo