zoukankan      html  css  js  c++  java
  • 分组查询,视图,行列转置

    一:   GROUP BY对查询结果进行分组

                  利用SQL GROUP  BY子句,能够快速而简便地将查询结果表按照指定的字段进行分组,值相等的记录分为一组。GROUP  BY子句一般和SQL聚合函数起使用。

    【基本格式】:
         SELECT  <字段表达式>  FROM  <表名  GROUP  BY  <字段名>
     
    二:视图
    1.视图的定义:
    (1).视图是一虚拟表它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上
    (2).视图中并不存放数据,而是存放在视图所引用的原始表(基表)中
    (3).同一张原始表,根据不同用户的不同需求,可以创建不同的视图
     
    2.视图的用途
    (1)筛选表的行
    (2)防止未经许可的用户访问敏感数据
    (3)降低数据库的复杂程度
    (4)多个物理数据库抽象为一个逻辑数据库
     
    三: 行列转置
    declare @sqlstr varchar(8000)
    set @sqlstr='select [TransID],[KeyNO]'
    //读取出所要转置的列信息
    SELECT @sqlstr=@sqlstr + ',(SELECT sum([Expr4]) fee FROM [BEST].[dbo].[View_temp] group by expr1 having [Expr1]='''+Expr1+''') as ['+Expr1+']'  
    FROM [BEST].[dbo].[View_temp] group by [Expr1]
    //根据读取出的转置的列信息拼接sql
    Select @sqlstr = @sqlstr+',[SSJE],[YFJE],[MLJE],ZLJE from [View_temp] group by [KeyNO],[TransID],[SSJE],[YFJE],[MLJE],ZLJE'
    //执行sql
    Exec (@sqlstr)
    //输出拼接的sql
     
    print @sqlstr
     
     
     
     
     
         
     
     
     
  • 相关阅读:
    MFC中动态控件的创建与响应
    fseek函数
    fullPage.js插件用法(转发)
    二级联动
    ajax_异步交互-get/post方式
    02_数据类型转换-小结
    01_创建对象的三种方法
    分布式与集群
    FSM
    开发一个第三方库的一般性和团队特定规则
  • 原文地址:https://www.cnblogs.com/ProgrammerGE/p/2811805.html
Copyright © 2011-2022 走看看