student subject grade
---------------------------
student1 语文 80
student1 数学 70
student1 英语 60
student2 语文 90
student2 数学 80
student2 英语 100
……
转换为
语文 数学 英语
student1 80 70 60
student2 90 80 100
……
语句如下:
select student,sum(decode(subject,'语文', grade,null)) "语文",
sum(decode(subject,'数学', grade,null)) "数学",
sum(decode(subject,'英语', grade,null)) "英语"
from table
group by student
分享到:
相关推荐
oracle行列转换,通过实例来实现表的行列转换
本例子主要是实现了oracle行列的转换,这个挺有用的
主要介绍了Oracle实现行列转换的方法,结合实例形式分析了Oracle针对固定列、不定列、列数不固定等情况下的行列转换操作技巧,需要的朋友可以参考下
Oracle 行列转换是指将数据库表中的行转换为列或将列转换为行的一种操作。这种操作在实际应用中非常有用,例如在数据报表生成、数据分析和数据挖掘等领域。下面我们将详细介绍 Oracle 行列转换的六种情况。 一、列...
分别讲述了SQLServer和Oracle行列转换的两种方式,可以通过SQL实现,也可通过关键字搞定; 还可以看到Oracle与SQLServer关键字用法的差异。
java面试题之行列转换 Oracle 和SQLServer两种方式 详细例子以及说明 一条语句实现,绝对看得懂! 方便理解!
Oracle中使用语句将行数据转换称不同的列表示,或者将不同的列数据写到同一列的不同行上的行列转换问题是一个非常传统的话题。 网络上流传了很多将行数据转换称列数据的方法和应用实例,一般通过decode或者case函数...
本文实例讲述了oracle实现多行合并的方法。分享给大家供大家参考。具体分析如下: 在写sql时,经常会有将某列的字段合并起来,比如将某人名下每个月的工资列示,但是每个人只能占一行。 像这种场景,可能用行列转换...
oracle数据库,利用sql语句实现行列转换。
数据库查询中难免会遇到行列转换的情况,摘列一些较精典的解决方案
create or replace function pivot( p_stmt in varchar2, p_fmt in varchar2 := 'upper(@p@)', dummy in number := 0 ) return anydataset pipelined using PivotImpl;
最近突然玩起了sql语句,想着想着便给自己出了一道题目:“行列转换”。起初瞎折腾了不少时间也上网参考了一些博文,不过大多数是采用oracle数据库当中的一些便捷函数进行处理,比如”pivot”。那么,在Mysql环境下...
Case When实现行列转换时会出现多条记录,如果不用聚合函数直接进行group by分组,那么检索的是基表里分组字段的第一条记录,如果使用max()函数之后再进行group by分组,那么就会检索每个字段的最大值然后再分组
NO MONEY DAY 1 23 1 1 43 2 ...咱们一步步来实现: 1.运用DECODE转换行为列 SQL: SELECT NO, DECODE(DAY,1,MONEY,”) DAY1, DECODE(DAY,2,MONEY,”) DAY2, DECODE(DAY,3,MONEY,”) DAY3FROM
[Q]如何实现行列转换 11 [Q]怎么样实现分组取前N条记录 13 [Q]怎么设置存储过程的调用者权限 13 [Q]怎么快速获得用户下每个表或表分区的记录数 13 [Q]可以利用utl_smtp包发邮件,以下是一个发送简单邮件的例子程序 ...
分析函数 特点:允许你对一个数据集进行排序和筛选,这是SQL从来不能实现的。选择列表中的每个分析函数调用可能有不同的分区,不同的窗口和...用于:运行总数、进行行列转换结果集、访问当前行附近的那边行等的功能。
20.oracle8中扩充了group by rollup和cube的操作。有时候省了你好多功夫的。 下面的语句可以进行总计 select region_code,count(*) from aicbs.acc_woff_notify group by rollup(region_code); <2> 对第1个字段...
DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列