Я по какой-то причине смущаюсь по этому поводу.Подсчитайте новых клиентов за месяц
В принципе, я ищу для запроса, который будет найти число новых клиентов в месяц, начиная с 2010 года
У меня есть адрес электронной почты клиента (электронная почта), все заказы (OrderId), и что дата его размещения (OrderDate). Таблица tblOrder.
Я знаю, что «новый клиент» является: (а) кто-то, кто никогда не заказывал до того дата/месяц и (б), который имеет по крайней мере один заказ после дата/месяц
I «d хотят выход быть что-то вроде этого, в конце концов, с более простым способом быть лучше:
01 02 03 04 05 06 07 08 09 10 11 12
2010 ## ## ## ## ## ## ## ## ## ## ## ##
2011 ## ## ## ## ## ## ## ## ## ## ## ##
2012 ## ## ## ## ## ## ## ## ## ## ## ##
И я получил это работать, но ребята, я серьезно не программист , и он может выглядеть просто для некоторых из вас, но это над моей головой, и не щелкать со мной вообще.
SELECT <customer info>
FROM <customer table>
WHERE (SELECT COUNT(<order info>)
FROM <order table>
WHERE <customer info> = <current customer>
AND <date> < <target date>) = 0
AND (SELECT COUNT(<order info>
FROM <order table>
WHERE <customer info> = <current customer>
AND <date> > <target date>) > 0
Я знаю, что это также недействительно SQL. Поэтому я не знаю, что с этим делать. И я думаю, что он просто набирает список применимых клиентов (то есть тех, кто не заказывал до ввода месяца), а не подсчитывает их все и суммирует их, как я в конечном итоге хочу.
Из того, что я могу сказать, это самый точный ответ, основанный на результатах, которые я получаю. Я не уверен, как это точно подтвердить, но на данный момент большое спасибо! – ash
@spazzie: Хорошо, вы могли бы принять мое слово за это ...;) Более серьезно, если задействовано менее миллиона строк, вы можете сбросить таблицу в Excel, а затем проверить свои результаты там. –
Да, это выглядит довольно хорошо. Спасибо! :) – ash