Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Liczenie nowych Klientów miesięcznie

Zacznij od zdefiniowania nowego klienta

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

Pierwsza część wyszukuje wszystkich klientów, których pierwsze zamówienie było we wskazanym miesiącu. Wtedy chcesz tylko tych klientów, którzy RÓWNIEŻ spełnili drugi warunek (zamówiony po dacie docelowej)

Bez nazw tabel i struktur nie można utworzyć całego zapytania, ale mam nadzieję, że powyższe informacje dadzą ci trochę na początek



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z TransactionScope z niezatwierdzonym odczytem - czy z (nolock) w SQL jest konieczne?

  2. Jak uzyskać wartość od step1 do step2 w sql Job

  3. Dynamicznie tworzony SQL a parametry w SQL Server

  4. Case Statement w SQL za pomocą Like

  5. SQL Server — złożone dynamiczne kolumny przestawne