首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server中的count()子句组

问SQL Server中的count()子句组
EN

Stack Overflow用户
提问于 2015-07-27 15:37:39
回答 1查看 261关注 0票数 0

我正在尝试编写一个SQL查询,该查询将返回聚合值的列表;但是,我希望将查询按聚合值之一分组(计数):

代码语言:javascript
复制
select t.Field1, count(distinct(t.Field2), SUM(t.Value1)
from MyTable t
group by t.Field1, count(t.Field2)

我尝试将计数放入子查询中,并将整个查询放入子查询并在那里分组。是否有一种不涉及创建临时表的方法(我没有针对临时表本身的任何操作)。

预期的结果如下所示:

代码语言:javascript
复制
Field1    Count      Sum
----------------------------------------------------    
CAT1      3          19.5
CAT1      2          100
CAT2      2          62

我正在处理的数据如下:

代码语言:javascript
复制
Field1    Field2    Field3    Value1
-----------------------------------------------------
CAT1      1         1         5
CAT1      2         1         2.5
CAT1      3         1         12
CAT1      4         2         50
CAT1      5         2         50
CAT2      6         3         50
CAT2      7         3         12

因此,我希望按照每个Field2的不同Field3值的数量进行分组。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-27 17:07:07

如果我对你的理解是正确的,那么下面的内容应该是可行的。

代码语言:javascript
复制
select Field1 , Count , Sum(Value1)
from
(
    select t.Field1, count(*) as Count, SUM(t.Value1) as Value1
    from MyTable t
    group by t.Field1, t.Field3

)
as t2 
group by Field1, Count
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31657359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档