Возвращает количество клиентов, которые разместили один или несколько заказов, но все заказы были меньше указанной даты:
SELECT COUNT(*)
FROM (
SELECT CustomerID
FROM orders
GROUP BY CustomerID
HAVING MAX(OrderDate) < '1996-04-01'
) AS x
Если вы хотите включить клиентов, которые разместили 0 заказов, используйте:
SELECT (
SELECT COUNT(*)
FROM customers
) - (
SELECT COUNT(DISTINCT CustomerID)
FROM orders
WHERE OrderDate >= '1996-04-01'
)