我试图创建一个查询,将输出总数,以及在SQL-Server
总数的子集。我可以想到通过子查询来实现这一点的方法,但这似乎是一大堆工作。有没有更快的方式来写这个查询?SQL Server - 能够在选择中传递子集参数?
Table name: orders
OrderID Date Type OrderSize
1 1/1/2012 Electronics $282.02
2 1/1/2012 Electronics $1,000.56
3 1/1/2012 Books $17.25
4 1/1/2012 Books $10.00
什么我试图输出应该是这样的:
Date ElectronicOrders ElectronicOrderSize BookOrders BookOrderSize
1/1/2012 2 $1,282.58 2 $27.25
我可以创建一个临时表,然后再运行2个更新查询 - 1 WHERE Type = 'Electronics'
和1 WHERE Type = 'Books'
。
我在某些编程语言(例如R
)中看到的是变量子集的能力。有没有办法让我这样说:
count(OrderID, Type = 'Electronics) as ElectronicOrders, sum(OrderSize, Type = 'Electronics') as ElectronicOrderSize
还是我坚持subqueries
和UPDATE queries
?
这看起来像一个PIVOT,但知道您是否知道所有潜在类别非常重要。 – 2012-03-13 01:30:23
我知道所有类别...我不熟悉'PIVOT' ...现在搜索。 – mikebmassey 2012-03-13 01:34:19
枢轴会工作,我想。我可以看到如何进行1次计算,例如count(*),但不能同时计数(*)和sum(*)。 – mikebmassey 2012-03-13 01:36:41