`
wengsibo
  • 浏览: 83531 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

oracle 查询的时候加条件判断

阅读更多
方法一.
select a.idcard,
SUM(
 CASE WHEN a.subject_code=2 THEN a.SCOPE ELSE 0  END
) 

,
SUM(
 CASE WHEN a.subject_code=3 THEN a.SCOPE ELSE 0  END
)
,
SUM(
 CASE WHEN a.subject_code=4 THEN a.SCOPE ELSE 0  END
)
,
SUM(
 CASE WHEN a.subject_code=5 THEN a.SCOPE ELSE 0  END
)
from cm_student_score a   

GROUP BY a. idcard


注:使用方法
SUM(
CASE WHEN a.subject_code=2 THEN a.SCOPE ELSE 0  END
)
如果a.subject_code=2则值为a.SCOPE,否则为0
而SUM()这方法是,把里面所有的成绩全部加起来.意思:所有subject_code=2的总成绩

方法二:
SELECT a.idcard,sum(DECODE(subject_code,2,SCOPE,0)) subject_code2, 

       sum(DECODE(subject_code,2,SCOPE,0)) subject_code3, 

       sum(DECODE(subject_code,2,SCOPE,0)) subject_code4, 

       sum(DECODE(subject_code,2,SCOPE,0)) subject_code5

FROM cm_student_score  GROUP BY a. idcard






分享到:
评论

相关推荐

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    Oracle CASE WHEN 多条件语句详解 CASE WHEN 语句是 SQL 中的一种条件语句,用于实现多个...CASE WHEN 语句是 Oracle 数据库中的一种非常有用的语句,可以帮助我们实现多个条件的判断和执行,提高查询效率和读取性。

    oraclesql判断值为空-Oracle-sqlserver的空值(null)判断.pdf

    Oracle SQL 判断值为空OrNull 判断 Oracle SQL 中判断值为空或 Null 的方法有多种,在本文中,我们将介绍 Oracle 和 SQL Server 中的空值判断方法。 Oracle 中的空值判断 在 Oracle 中,可以使用 `NVL` 函数来...

    oracle 查询部分ppt

    例如,在WHERE子句中使用子查询,可以比较一个值与另一个查询的结果,这在复杂条件判断中非常有用。 聚合函数(Aggregate Functions)如COUNT、SUM、AVG、MAX和MIN等,可以帮助我们对一组值进行统计计算,例如计算...

    oracle查询语句优化

    - **推荐方案**:改用NOT EXISTS或外连接加判断为空的方式替换NOT IN。 ##### 3. LIKE操作符 - **使用技巧**:LIKE操作符支持通配符查询,但使用不当会影响性能。例如,“%5400%”不会使用索引;而“X5400%”会...

    ORACLE分页查询效率

    - **Oracle 9i新增功能**:从Oracle 9i开始,Oracle引入了收集操作系统统计信息的功能,这使得Oracle能够根据收集到的信息判断操作系统的CPU、I/O处理能力,并据此来确定不同的执行计划的成本。 - **对查询优化的...

    ORACLE多条件统计查询的简单方法

    `CASE`表达式在SQL中是一个非常强大的工具,它允许我们在查询中进行条件判断。在Oracle中,`CASE`语句的基本结构如下: ```sql CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE ...

    提高Oracle数据库查询效率

    这是因为`EXISTS`只需要判断子查询是否有结果返回即可,而`IN`则需要返回所有的结果值。例如,假设我们要查询所有属于某个部门的员工,可以使用如下方式: ```sql SELECT * FROM employees WHERE EXISTS (SELECT 1 ...

    oracle 同音字查询

    例如,当用户输入查询条件时,先通过一个存储过程将输入的汉字转换为拼音,然后进行比较。 6. **使用中间层处理** 如果数据库层面无法满足需求,也可以在应用程序层面处理。例如,使用Java、Python等编程语言在...

    Oracle提高查询效率的方法

    "Oracle 提高查询效率的方法" Oracle数据管理系统作为一个强大的关系型数据库管理系统,具有高效、可靠、可扩展的特点。但是,随着数据量的增加和复杂查询的增加,查询效率可能会下降。因此,提高查询效率是 ...

    Oracle sql语句多表关联查询

    HAVING 子句的使用场景是在分组查询中对数据进行条件判断,类似于 WHERE 子句,但 HAVING 子句是在 GROUP BY 之后使用的。 四、查询顺序 Oracle 中的查询顺序是 SELECT > FROM > WHERE > GROUP BY > HAVING > ...

    Oracle查询操作的学习笔记

    ### Oracle查询操作学习笔记知识点详解 #### 一、Oracle用户管理与权限分配 - **创建用户**:在Oracle中创建用户的基本语法为`CREATE USER username IDENTIFIED BY password`。例如,`CREATE USER xiaoming ...

    oracle通过年、月两个条件查询数据库数据

    包含三种方式:1、应用in,关键是将时间类型转换 2、时间转换,直接判断年、月 3、通过oracle的函数EXTRACT(YEAR FROM wqd.SPT)

    oracle消耗资源的sql查询语句记录

    - **CPU时间过长的SQL语句**可能是因为查询条件复杂或者涉及多表关联等问题导致,可以考虑调整查询逻辑或者优化索引结构。 4. **进一步的监控工具** - **AWR报告**:自动工作负载资料库(Automatic Workload ...

    Oracle查询优化4大方面的主要途径

    - **操作建议**:对于经常用于查询条件中的字段,应考虑建立相应的索引。特别是当查询涉及到多个字段时,可以考虑创建复合索引以提高查询速度。 **2. 使用分区表** - **解释**:分区表可以将大数据集分割成较小...

    Oracle计算连续天数,计算连续时间,Oracle连续天数统计

    在SQL查询中,我们需要找出数据表中满足连续性条件的记录,并计算出连续天数。 1. **基础日期函数** Oracle中的日期函数如`SYSDATE`获取当前系统日期,`ADD_MONTHS`、`TRUNC`用于日期的加减和截断,`NEXT_DAY`则...

    oracle 关于字符串中带有逗号间隔的查询.doc

    在Oracle数据库中,进行字符串查询时,特别是当字符串中包含逗号等特殊字符时,我们需要巧妙地使用SQL的LIKE操作符来实现精确匹配。这里,我们面对的问题是想要查询DWDH字段中含有"飞信"但不包含"移动飞信"或"飞信...

    oracle存储过程

    将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; ...

    Oracle期末复习题(带答案)

    HAVING子句用于对分组后的数据进行条件筛选,而不能单独使用,必须与GROUP BY子句一起使用。SUM、COUNT、MAX、MIN等是常用的聚合函数,用于执行数据的统计计算。 对于SQL*Plus命令,其中的sqlplus/nolog命令用于...

    Oracle查询优化改写 技巧与案例

    2. **索引使用技巧**:了解何时创建和使用索引,包括B树索引、位图索引、函数索引等,以及如何通过EXPLAIN PLAN分析查询计划,判断索引是否被有效利用。 3. **子查询优化**:合理使用子查询可以提高查询效率,如...

Global site tag (gtag.js) - Google Analytics