Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Преброяване на нови клиенти на месец

Започнете с дефиниране на нов клиент

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

Първата част намира всички клиенти, чиято първа поръчка е била през посочения месец. След това искате само онези клиенти, които СЪЩО отговарят на второто условие (поръчани след целевата дата)

Без имена и структури на таблици не можете да създадете цялата заявка, но се надяваме, че горното трябва да ви даде малко начало



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server и пропуски в колона за идентичност

  2. Как да напиша квантилната агрегатна функция?

  3. Как да проверя дали обектът DateTime не е присвоен?

  4. Създайте дата от ден месец и година с T-SQL

  5. SQL функция като стойност на параметър по подразбиране?