我正在尝试编写一个SQL查询,该查询将返回聚合值的列表;但是,我希望将查询按聚合值之一分组(计数):
select t.Field1, count(distinct(t.Field2), SUM(t.Value1)
from MyTable t
group by t.Field1, count(t.Field2)我尝试将计数放入子查询中,并将整个查询放入子查询并在那里分组。是否有一种不涉及创建临时表的方法(我没有针对临时表本身的任何操作)。
预期的结果如下所示:
Field1 Count Sum
----------------------------------------------------
CAT1 3 19.5
CAT1 2 100
CAT2 2 62我正在处理的数据如下:
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值的数量进行分组。
发布于 2015-07-27 17:07:07
如果我对你的理解是正确的,那么下面的内容应该是可行的。
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, Counthttps://stackoverflow.com/questions/31657359
复制相似问题