• Oracle 在使用pivot时,注意事项


    a)         Pivot的时候,实际上也是一次分组,并且可以通过聚簇函数来实现统计

    b)         Pivot在取列名的时候,如果别名有汉字,要用双引号括起来,或者不用双引号

    c)         如果对应的字段值为非数字或者字母,记得要用单引号引起来,比如下面的’A’

    select *

      from (select case

                     when a.score >= 220 and a.score <= 330 then

                      '(220,330)'

                     when a.score >= 630 and a.score <= 710 then

                      '(630,710)'

                     when a.score < 220 then

                      '其他'

                     else

                      '(' || (ceil((a.score - 330) / 20) * 20 + 330) || ',' ||

                      (ceil((a.score - 330) / 20 + 1) * 20 + 330) || ')'

                  

                   end 分数段,

                   b.score

              from SUBJECTREGISTER a

              left join SUBJECTREGISTER b

                on a.candidatesid = b.candidatesid

             WHERE a.testid = '181'

               and a.CAMPUSCODE LIKE '12%'

               AND a.SUBJECTCODE != 'S'

               AND a.SUBJECTCODE != 'F'

               AND (a.SCORE != '0' AND a.SCORE IS NOT NULL and

                   b.score IS NOT NULL)

               AND (b.SUBJECTCODE = 'S' or b.SUBJECTCODE = 'F')) pivot(count(SCORE) FOR SCORE IN('A' "A",

                                                                                                 'A+' "A+",

                                                                                                 'B' "B",

                                                                                                 'B+' "B+",

                                                                                                 'C' "C",

                                                                                                 'C+' "C+",

                                                                                                 'D' "D",

                                                                                                 'D+' "D+"))

     ORDER BY 分数段

  • 相关阅读:
    随机数生成程序代码( 伪随机<stdlib.h> )
    C++的学习 (此博客将一直补充更新下去,C++语法方面的内容不开新随笔了, *【语法学习】)
    sdut oj 1510 Contest02-4 Spiral
    POJ 2017 Speed Limit (直叙式的简单模拟 编程题目 动态属性很少,难度小)
    JavaWeb-入门第一课-1.静态web动态web 2.web服务器 3.下载和安装Tomcat-web服务器
    java小知识,驼峰规则
    亚马逊 协同过滤算法 Collaborative filtering
    第一个JSP程序
    物理学步入禅境:缘起性空
    人既然知道努力就可以进步,为什么还是会不努力?
  • 原文地址:https://www.cnblogs.com/hobby0524/p/8949407.html
Copyright © 2020-2023  润新知