计算6个月内的所有日期,而不是整体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算6个月内的所有日期,而不是整体相关的知识,希望对你有一定的参考价值。

我试图输出每个销售人员在过去六个月里销售的东西,但我使用的是所有日期并输出它们。

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
答案

您可能想要使用条件聚合:

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;

以上是关于计算6个月内的所有日期,而不是整体的主要内容,如果未能解决你的问题,请参考以下文章

合并两个日期字段在两个月内的 pandas DataFrame

如何获取过去 6 个月内为 sonarqube 创建的项目的报告?

过去 X 个月内的 PostgreSQL 累积计数

从 Facebook 群组收集数据

sql查询当前月内的所有日期

如何在 SQL 中计算每个用户的唯一日期的平均收入