Sql 基于另一列的组特定列
我有如下数据:Sql 基于另一列的组特定列,sql,sql-server,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
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
这会将所有目录汇总到一个目录,而不会为每个目录提供不同的值。此外,我也不知道如何“汇总”文件的数量。有人能帮忙吗?这就是你想要的吗
SELECT extension, directory, sum(size) as size, count(*) as qty
From dbo.Table
Group By extension, directory;
这是一个非常基本的聚合查询。如果你能提出问题中的问题,我希望这是显而易见的。这就是你想要的吗
SELECT extension, directory, sum(size) as size, count(*) as qty
From dbo.Table
Group By extension, directory;
这是一个非常基本的聚合查询。如果您能提出问题中的查询,我希望这是显而易见的。
选择…count(*)as[qty files]
这会将所有目录汇总到一个目录中,而不是每个目录都提供不同的值:但这不正是您所需要的吗?不@sstan我希望每个目录汇总所有类似的扩展名,为该目录中每个唯一的扩展名提供一个行项目。选择…count(*)as[qty files]
这会将所有目录汇总到一个目录,而不是每个目录都给我不同的值:但这不正是您所需要的吗?不@sstan我希望每个目录汇总所有类似的扩展,每个目录中唯一的扩展都给我一个行项目。您是如何想出avg()
(vssum()
)的这是我问的一个非常愚蠢的问题。谢谢你的回答。有趣的是,我原来的问题中的疑问确实起了作用。我怎样才能结束这个问题,以免论坛被垃圾搞得乱七八糟?@PM77-1。事实上,我看到了2.5版,但错过了.5版,所以我认为avg()。谢谢你的回答。有趣的是,我原来的问题中的疑问确实起了作用。我怎样才能结束这个问题,以免论坛被垃圾搞得乱七八糟?@PM77-1。事实上,我看到了2.5版,但错过了.5版,所以我认为avg()
是我的初衷。