我必须从查询中找到计数值的总和,如下所示

SELECT 
    SUM(Total) AS SUMV   
FROM
    (SELECT   
         COUNT(Session.SessionID) AS Total   
     FROM 
         [Session]
     WHERE
         DateCreated >='2016-03-20' 
         AND DateCreated <= '2016-03-22'
     GROUP BY 
         CAST(DateCreated AS DATE)) s 

现在我必须找到具有不同条件的计数总和,我试图将总和值作为上表的第二列,如下所示

SELECT 
    SUM(Total) AS SUMV, SUM(Total2) AS SUMV2  
FROM
    (SELECT   
         COUNT(Session.SessionID) AS Total   
     FROM 
         [Session]
     WHERE 
         DateCreated >='2016-03-20' 
         AND DateCreated <= '2016-03-22'
     GROUP BY  
         CAST(DateCreated AS DATE)) s, 
    (SELECT   
         COUNT(Session.SessionID) AS Total2   
     FROM 
         [Session]
     WHERE
         DateCreated >='2016-03-23' 
         AND DateCreated <= '2016-03-25'
     GROUP BY
         CAST(DateCreated AS DATE)) s2

但是SUM2没有返回正确的SUM值。 我的查询是否正确,还是在SQL查询中使用多个SUM计数实例的更好方法?

#1楼 票数:1 已采纳

您可以将第一个查询编写为:

SELECT COUNT(*)
FROM [Session] s
WHERE DateCreated >= '2016-03-20' AND  DateCreated <= '2016-03-22';

您可以使用条件聚合来进行多个总和:

SELECT SUM(CASE WHEN DateCreated >= '2016-03-20' AND  DateCreated <= '2016-03-22'
            THEN 1 ELSE 0
           END) AS Total_1,
       SUM(CASE WHEN DateCreated >= '2016-03-23' AND  DateCreated <= '2016-03-25'
            THEN 1 ELSE 0
           END) AS Total_2           
FROM [Session] s;

  ask by Jibin Mathew translate from so

未解决问题?本站智能推荐:

1回复

SQL-在SUM查询中使用COUNT

好,这是我的数据库 我被要求出示医生姓名,所有约会的总费用要比平均费用高。 到目前为止,我有: 尝试使用sum(count(appID)* DocCost)我知道我是从错误的角度出发的,有人可以给我一些启示吗? 进行了纠正性调整: 收到'00933。 00000-“ SQL
4回复

在casesql语句中使用sum和count

我想对表中的每一行进行计数,但是我收到此错误: 无法对包含聚合或子查询的表达式执行聚合函数。
2回复

在查询中使用groupby和sum

您在图像中看到的这 3 个表是相关的课程表、教练表和销售表我想从这个表中报告每个教练在每个课程期间的销售量。 我创建的查询如下,可惜有问题,不知道问题出在哪里。 请帮我解决问题谢谢
3回复

如何在WHERE子句中使用COUNT,COUNTIF或SUM?

我有一张员工表,我正在尝试获取没有活跃员工的部门ID列表。 我的第一次尝试是: 但是Count不允许使用表达式,尽管intellisense说它确实如此。 那么我试过: 但后来它抱怨“聚合可能不会出现在WHERE子句中,除非它在HAVING子句或选择列表中包含的子查询中,并且聚合
1回复

如何在SQLServer中使用GROUPBY返回列的SUM和行的COUNT

因此,我不确定我的问题是否早先在Stack Overflow或某个地方得到了解决,所以我很确定我的问题将被视为重复问题,但绝不会是我在网上找到的所有解决方案中的任何一个,达到了我的目的。 问题:我有一张桌子 我需要编写一个查询,其输出如下所示: 输出中的字符列实际上是动物和载具列中总
3回复

如何在具有内连接和外连接的SUM函数中使用Count

感谢您帮助我找到这个我无法弄清楚的 SQL 的解决方案。 在我的 SQL 语句中,我有 1 个内连接和 1 个外连接。 求和之一需要从内部连接返回的行数 我的错误陈述,需要在第 5 行进行计数 我看了一些类似的问题,他们建议首先使用 union all 来获取计数,但我不完全理解如何使用 T1 和
3回复

在单个查询中使用多个计数

我在下面有一个查询,我想返回一天的严重警报和警告警报的总数,但是我遇到的问题是,当我在几天内执行此操作时,它会添加指定日期的严重警报 尝试了上面的代码,但显然我无法在子查询中添加“ group by”子句,我认为这是问题所在,请提供有关如何进行此操作的任何帮助...
2回复

我可以在单个SQLSELECT中使用TOP和Count吗?

我正在使用SQL Server2008R2。 我下面有SQL select语句: 假设上面的select语句返回1001条记录。 让它返回TOP 5并不难: 如何修改上面的语句,以便1001也将返回,因此我知道总共有多少条记录? 我想要这样的结果: 1001是可用记录的总数,