摘要:
GROUP BY ROLLUP用来根据GROUP BY子句中列的此寻来增加层次化的数据汇总。如下示例获取了货架、产品名和产品的总数:SELECT i.Shelf,p.Name,SUM(i.Quantity) TotalFROM Production.ProductInventory iINNER JOIN Production.Product p ON i.ProductID=p.ProductIDGROUP BY ROLLUP(i.Shelf,p.Name)查询(部分)结果:Shelf Name TotalA Adjustable Race 761A ... 阅读全文
摘要:
CUBE为结果集增加行,根据GROUP BY子句中的列来汇总总数值。示例:SELECTi.Shift,Sum(i.Quantity) Total FROMProduction.ProductInventory i GROUP BY CUBE(i.Shift)结果:Shift TotalA 26833B 12672C 19868D 17353NULL 76726(4行受影响)注意查询结果的红色部分,该行数据是使用CUBE自动添加的行显示以上几行查询到得数据的总和。 阅读全文
摘要:
PIVOT运算符能让我们创建交叉的查询,他把值转化为多列,使用聚合来根据新列对数据进行分组。语法:FROM table_source PIVOT (aggregate_function(value_column) FOR pivot_column in (<column_list>)) table_alias下表描述PIVOT的参数:参数描述table_source要旋转数据的表 aggregate_function(value_column)要在某列上使用的集合函数pivot_column用于创建列头的列column_list要从旋转列中旋转的值table_alias旋转结果集的 阅读全文
摘要:
使用TABLESAMPLE ,可以从from子句的表中提取一些样本行。这个取样可以给予一定百分比的行,当应用陈谷只需要一些样本行而不是完整地结果集时,可以使用TABLESAMPLE来实现。下面这个示例演示了使用TABLESAMPLE的一个查询:SELECT FristName,LastNameFrom Person.PersonTABLESAMPLE SYSTEM(2 PERCENT)这个查询返回下面的(部分)结果:FirstName LastNameAndre SuriAdam Turner...(232行受影响)再执行一次又返回一组新的(部分)结果:F... 阅读全文