【发布时间】:2014-07-18 05:46:59
【问题描述】:
我正在尝试使用 Sum、Count 和 Group By 编写一些 SQL。
我的数据库服务器是 Microsoft SQL Server 2008。
我的实际查询是相当复杂的链接多个表等,但我想我想出了一个简单的例子来说明我面临的问题。
我希望的是单行输出总结符合条件的记录。
这是我的测试数据表
ID Category (Char) Amount (int) SubCategory (Char)
1 A 10 X
2 A 15 X
3 A 20 X
4 B 20 X
5 B 30 X
6 C 50 Y
7 A 60 Y
8 A 70 Y
9 B 80 Y
10 B 90 Y
11 B 80 Y
12 C 70 Y
13 C 60 Y
这是我目前的 SQL
SELECT [Category]
,Sum(Amount) as [Amount Sum]
,COUNT(Amount) as [Item Count]
,Count(Distinct[SubCategory]) as [SubCategory Count]
FROM [Test].[dbo].[TestTable]
Where Category = 'A'
Group by Category,[Subcatagory]
Select * from TestTable
我想要的结果是这样的
Category Amount Sum Item Count SubCategory Count
A 175 5 2
但是我的结果是这样的
Category Amount Sum Item Count SubCategory Count
A 45 3 1
A 130 2 1
我有点不知所措,还有什么可以尝试的,有什么想法吗?
【问题讨论】:
-
从 group by 中删除
,[Subcatagory]它应该可以工作 -
这是一个分类(不是分类)....
标签: sql sql-server sql-server-2008 group-by