связанные с запросом с использованием SQL

В oracle sql, как получить счет новых добавленных клиентов только в течение месяца апреля и может и убедиться, что они там не были в предыдущие месяцы

SELECT CUSTOMER ID , COUNT(*)
FROM TABLE
WHERE DATE BETWEEN '1-APR-2018' AND '31-MAY-2018' AND ... 

Если мы дадим max (date) и min (date), мы можем сравнить большую дату, чтобы проверить, является ли этот клиент новым, правильным?

ожидаемый результат - месяц, апрель --- может ---

должен показать точное количество, сколько новых клиентов присоединилось за эти два месяца

mysql,sql,oracle-sqldeveloper,

-2

Ответов: 1


0 принят

Один из подходов заключается в использовании агрегации:

select customer_id, min(date) as min_date
from t
group by customer_id
having min(date) >= date '2018-04-01 and
       min(date) < date '2018-06-01';

Это получает список клиентов (что ваш запрос, кажется, делает). Чтобы получить счет, просто используйте count(*)и сделайте это подзапросом.

MySQL, SQL, Oracle-SQLDeveloper,
Похожие вопросы