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]

  • 相关阅读:
    django文件——django + jquery-file-upload上传篇(一)-- 插件实现文件上传
    jQuery动态数字翻滚计数到指定数字的文字特效 JQuery.Running.js
    bootstrap table 第一弹:实现模态框弹出编辑
    input输入框下横线动画实现+自动填充
    Jquery 实现动态添加输入框&编号
    解决公司内网只允许微信上网:CentOS7 + SS5 搭建Sockt5代理服务器方案
    python学习系列:装饰器
    linux学习:文件属性(一)—— inode
    requests模块中request函数参数介绍
    Forbidden(403)的3种处理方式
  • 原文地址:https://www.cnblogs.com/wdfrog/p/1384237.html
Copyright © 2011-2022 走看看