Подсчитать все даты в течение 6 месяцев, а не в целом - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь вывести то, что продал каждый продавец за последние шесть месяцев, но то, что я использую, подсчитывает все даты и выводит их.

SELECT SalespersonNo, COUNT (SalespersonNo) AS ['CarsSold']
FROM CarForSale
WHERE DateSold > '01/08/2018'
GROUP BY SalespersonNo;

Как я сказал выше, он выводит все сложенные даты вместо того, что я хочу, чтобы он суммировал все машины, проданные за последние 6 месяцев

Вот результаты, которые я получаю:

SalespersonNo   'CarsSold'
100001           4
100002           1
100003           1
100004           4
100005           2
100010           1
100011           2
100012           2
100015           1
100017           2
100020           2

Я стремлюсь получить такие результаты:

SalespersonNo   'CarsSold'
100001           3
100003           1
100004           3
100005           1
100011           2
100015           1
100017           2
100020           1

1 Ответ

0 голосов
/ 29 апреля 2019

Возможно, вы хотите использовать условное агрегирование:

SELECT SalespersonNo,
   COUNT(SalespersonNo) AS [CarsSoldTotal],
   COUNT(CASE WHEN DateSold > DATEADD(mm, -6, GETDATE()) THEN 1 END) AS [CarsSold6Month]
FROM CarForSale
WHERE DateSold > '01/08/2018'
GROUP BY SalespersonNo;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...