zoukankan      html  css  js  c++  java
  • SQLServer之Compute/ComputeBy实现数据汇总

    创建一个表Material用于测试

    CREATE TABLE material(
    pid INT PRIMARY KEY IDENTITY(1,1),
    name VARCHAR(100),
    color VARCHAR(50),
    num INT
    );

    插入些许测试值:

    INSERT INTO material(name,color,num)
    SELECT 'ball','red',12
    UNION ALL
    SELECT 'ball','red',24
    UNION ALL
    SELECT 'cat','yellow',13
    UNION ALL
    SELECT 'ball','yellow',13
    UNION ALL
    SELECT 'dog','yellow',13
    UNION ALL
    SELECT 'cat','black',4
    UNION ALL
    SELECT 'cat','white',5

    (1)Compute


    SELECT NAME,color,num
    FROM material
    ORDER BY NAME,color
    COMPUTE SUM(num),MAX(num)

    结果:




    (2)Compute By

    SELECT NAME,color,num
    FROM material
    ORDER BY NAME,color
    COMPUTE SUM(num),MAX(num) BY NAME,color

    结果:


    总结:

    GROUP BY 生成单个结果集。每个组都有一个只包含分组依据列和显示该组子聚合的聚合函数的行。选择列表只能包含分组依据列和聚合函数。


    COMPUTE 生成多个结果集。一类结果集包含每个组的明细行,其中包含选择列表中的表达式。另一类结果集包含组的子聚合,或 SELECT 语句的总聚合。选择列表可包含除分组依据列或聚合函数之外的其它表达式。聚合函数在 COMPUTE 子句中指定,而不是在选择列表中。

    说明 在 COMPUTE 或 COMPUTE BY 子句中,不能包含 ntext、text 或 image 数据类型。


  • 相关阅读:
    更新我电脑的编译器之Java语言
    HTML/CSS基础
    查找元素的杀手锏xpath
    错误日志的实时抓取保证代码质量
    Splinter常用api
    从底层向上理解Git
    infer运用实践
    流程图在测试用例编写中的运用
    2016小结
    Splinter 查找元素
  • 原文地址:https://www.cnblogs.com/secbook/p/2654867.html
Copyright © 2011-2022 走看看