首页 文章

按SQL Server中的count()子句分组

提问于
浏览
0

我正在尝试编写一个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

所以,我希望按每个Field3的不同Field2值的数量进行分组

1 回答

  • 1

    如果我理解正确,那么以下内容应该有效 .

    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
    

相关问题