方法一.
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
分享到:
相关推荐
Oracle CASE WHEN 多条件语句详解 CASE WHEN 语句是 SQL 中的一种条件语句,用于实现多个...CASE WHEN 语句是 Oracle 数据库中的一种非常有用的语句,可以帮助我们实现多个条件的判断和执行,提高查询效率和读取性。
Oracle SQL 判断值为空OrNull 判断 Oracle SQL 中判断值为空或 Null 的方法有多种,在本文中,我们将介绍 Oracle 和 SQL Server 中的空值判断方法。 Oracle 中的空值判断 在 Oracle 中,可以使用 `NVL` 函数来...
例如,在WHERE子句中使用子查询,可以比较一个值与另一个查询的结果,这在复杂条件判断中非常有用。 聚合函数(Aggregate Functions)如COUNT、SUM、AVG、MAX和MIN等,可以帮助我们对一组值进行统计计算,例如计算...
- **推荐方案**:改用NOT EXISTS或外连接加判断为空的方式替换NOT IN。 ##### 3. LIKE操作符 - **使用技巧**:LIKE操作符支持通配符查询,但使用不当会影响性能。例如,“%5400%”不会使用索引;而“X5400%”会...
- **Oracle 9i新增功能**:从Oracle 9i开始,Oracle引入了收集操作系统统计信息的功能,这使得Oracle能够根据收集到的信息判断操作系统的CPU、I/O处理能力,并据此来确定不同的执行计划的成本。 - **对查询优化的...
`CASE`表达式在SQL中是一个非常强大的工具,它允许我们在查询中进行条件判断。在Oracle中,`CASE`语句的基本结构如下: ```sql CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE ...
这是因为`EXISTS`只需要判断子查询是否有结果返回即可,而`IN`则需要返回所有的结果值。例如,假设我们要查询所有属于某个部门的员工,可以使用如下方式: ```sql SELECT * FROM employees WHERE EXISTS (SELECT 1 ...
例如,当用户输入查询条件时,先通过一个存储过程将输入的汉字转换为拼音,然后进行比较。 6. **使用中间层处理** 如果数据库层面无法满足需求,也可以在应用程序层面处理。例如,使用Java、Python等编程语言在...
"Oracle 提高查询效率的方法" Oracle数据管理系统作为一个强大的关系型数据库管理系统,具有高效、可靠、可扩展的特点。但是,随着数据量的增加和复杂查询的增加,查询效率可能会下降。因此,提高查询效率是 ...
HAVING 子句的使用场景是在分组查询中对数据进行条件判断,类似于 WHERE 子句,但 HAVING 子句是在 GROUP BY 之后使用的。 四、查询顺序 Oracle 中的查询顺序是 SELECT > FROM > WHERE > GROUP BY > HAVING > ...
### Oracle查询操作学习笔记知识点详解 #### 一、Oracle用户管理与权限分配 - **创建用户**:在Oracle中创建用户的基本语法为`CREATE USER username IDENTIFIED BY password`。例如,`CREATE USER xiaoming ...
包含三种方式:1、应用in,关键是将时间类型转换 2、时间转换,直接判断年、月 3、通过oracle的函数EXTRACT(YEAR FROM wqd.SPT)
- **CPU时间过长的SQL语句**可能是因为查询条件复杂或者涉及多表关联等问题导致,可以考虑调整查询逻辑或者优化索引结构。 4. **进一步的监控工具** - **AWR报告**:自动工作负载资料库(Automatic Workload ...
- **操作建议**:对于经常用于查询条件中的字段,应考虑建立相应的索引。特别是当查询涉及到多个字段时,可以考虑创建复合索引以提高查询速度。 **2. 使用分区表** - **解释**:分区表可以将大数据集分割成较小...
在SQL查询中,我们需要找出数据表中满足连续性条件的记录,并计算出连续天数。 1. **基础日期函数** Oracle中的日期函数如`SYSDATE`获取当前系统日期,`ADD_MONTHS`、`TRUNC`用于日期的加减和截断,`NEXT_DAY`则...
在Oracle数据库中,进行字符串查询时,特别是当字符串中包含逗号等特殊字符时,我们需要巧妙地使用SQL的LIKE操作符来实现精确匹配。这里,我们面对的问题是想要查询DWDH字段中含有"飞信"但不包含"移动飞信"或"飞信...
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; ...
HAVING子句用于对分组后的数据进行条件筛选,而不能单独使用,必须与GROUP BY子句一起使用。SUM、COUNT、MAX、MIN等是常用的聚合函数,用于执行数据的统计计算。 对于SQL*Plus命令,其中的sqlplus/nolog命令用于...
2. **索引使用技巧**:了解何时创建和使用索引,包括B树索引、位图索引、函数索引等,以及如何通过EXPLAIN PLAN分析查询计划,判断索引是否被有效利用。 3. **子查询优化**:合理使用子查询可以提高查询效率,如...