zoukankan      html  css  js  c++  java
  • 一条经典的汇总的sql

    表结构:
    时间  地名    环境情况
    1        北京     优秀
    2        北京      良好
    3        北京      差
    4        天津     良好
    5        天津     良好
    6        上海      差

    要求得到的结果:
    地点  优秀   良好   差
    北京   1       1         1
    天津   2       0         0
    上海   0       0         1



    create table t([date] int identity(1,1),place nvarchar(10),circumstance nvarchar(10))
    insert t select N'北京',N'优秀'
    union all select N'北京',N'良好'
    union all select N'北京',N'差'
    union all select  N'天津',N'良好'
    union all select N'天津',N'良好'
    union all select N'上海',N'差'

    select place [地点],
    sum(case circumstance when N'优秀' then 1 else 0 end) [优秀],
    sum(case circumstance when N'良好' then 1 else 0 end) [良好],
    sum(case circumstance when N'差' then 1 else 0 end) [差]
    from t
    group by place

    drop table t
    /*
    地点         优秀          良好          差          
    ---------- ----------- ----------- -----------
    上海         0           0           1
    天津         0           2           0
    北京         1           1           1
    */




    Select
    uncd,
    sum(case infoty when '1' then 1 else 0 end) as 早报,
    sum(case infoty when '2' then 1 else 0 end) as 迟报,
    sum(case infoty when '3' then 1 else 0 end) as 漏报,
    sum(case infoty when '4' then 1 else 0 end) as 错报
    From ST_INFSMRY_C
    group by uncd

  • 相关阅读:
    合并两个排序的链表
    反转链表
    java网络编程之TCP通讯
    java网络编程之UDP通讯
    Java中的线程同步机制
    阿里研发工程师面试题三个小结
    Android开发的进阶之路
    获取一个字符串中每一个字母出现的次数使用map集合
    Android常见面试题目
    Java垃圾回收
  • 原文地址:https://www.cnblogs.com/liufei88866/p/1009523.html
Copyright © 2011-2022 走看看