基于另一个组特定列

时间:2016-09-20 20:51:48

标签: sql sql-server

我的数据如下:

extension          directory       size
sql               c:\foo                  2
sql               c:\foo                  3
txt               c:\foo                  5
txt               c:\bar                 .5
txt                c:\bar                 2
xsd               c:\newFoo               4

我需要的是:

extension          directory       size               qty files
sql               c:\foo                  5            2
txt               c:\foo                  5            1
txt               c:\bar                 2.5            2  
xsd              c:\newFoo               4              1

我尝试了类似

的内容
SELECT extension, directory, sum(size)
From dbo.Table
Group By extension, directory

这会将所有目录卷起来,而不是每个目录都给我不同的值。另外,我无法弄清楚如何获取文件的数量" roll"起来。有人能提供一些帮助吗?

1 个答案:

答案 0 :(得分:2)

这是你想要的吗?

SELECT extension, directory, sum(size) as size, count(*) as qty
From dbo.Table
Group By extension, directory;

这是一个非常基本的聚合查询。如果您能在问题中提出查询,我希望这很明显。