zoukankan      html  css  js  c++  java
  • SQL 中的单列数据到多列数据的转换,以及转换后的分组统计(行列转换)

    手上有一个供求信息网站,客户要要求对其中的企业会员每月的供求信息发布量进行统计
    要求以如下形式打印:
    2006-10-1 到 2006-10-31
    用户    供应数   求购数   合计   详细
    张山    10           20          30       >>
    李四     50           3            53      >>

    。。。。。

    现有的供求信息表(Info)表结构如下
    User             Info_ID       dateAndTime  type
    WDFrog       1                   ...                       买
    WDFrog       2                                             卖
    WDFrog       3                                             卖
    lxj                   4                                            卖
    lxj                   5                                            买

    则将type列拆分成  sell , buy 2列的代码如下:
       Select [Id], [user],
                  case [type]
                       When '买' Then 1
                   Else 0 
                   End As buy,
                   Case [type]
                        When '卖' Then 1
                   Else 0
                   End as sell      
        From info

    统计求和的代码如下:

       Select [Id], [user],
               SUM(case [type]
                   When '买' Then 1
                   Else 0 
            End ) As buy,
               SUM(Case [type]
                   When '卖' Then 1
                   Else 0
                   End ) as sell,
               count(info_id) as total
               
        From vi_AgentInfo

        Group by [Id],[user] Order by total DESC

    最后还可以这样写,打印效果怎样?大家不妨自己去试试

    Select [Id],[user],
    case [type]
          When '买' Then '买'
          Else '卖'
          End As BAndS,
          count([Id]) as total

    From vi_AgentInfo
    Group by
     case [type]
          When '买' Then '买'
          Else '卖'
          End
          ,[Id],[user]

  • 相关阅读:
    (免量产,免格式化)手动将PE安装到移动硬盘/U盘或无系统硬盘!
    OFFICE文档(DOC,XLS,PPT)打开报错的解决办法!
    <JavaScript><DOM> 十. 核心DOM的属性
    <JavaScript> 九. BOM其它对象(screen对象, navigator对象, location地址栏对象, history历史记录对象)
    <JavaScript> 八. 定时器
    <JavaScript> 七. 延时器
    <JavaScript> 六. window对象的属性和方法
    <JavaScript> 五. Number对象的属性和方法
    <JavaScript> 四. Math对象的属性和方法
    <JavaScript> 三. Date对象的属性和方法
  • 原文地址:https://www.cnblogs.com/wdfrog/p/1384237.html
Copyright © 2011-2022 走看看