oracle 行列转换
oracle 行列转换列名如果是数字,用双引号包住 如下:
-- 建表
create table workinfo
(
wid integer primary key,
sid integer ,
CONSTRAINT sid foreign key(sid) references student(sid),
city nvarchar2(100),-- 就业城市
wage number(10,2),-- 月薪
workdate date,-- 就业时间
eid integer ,
CONSTRAINT eid foreign key(eid) references Emp(eid)-- 介绍人
);
-- 假数据
insert into workinfo values(1001,8001,'上海',5000,to_date('2009-3-5','yyyy-MM-dd'),6005);
insert into workinfo values(1002,8002,'上海',4500,to_date('2010-3-5','yyyy-MM-dd'),6005);
insert into workinfo values(1003,8005,'上海',5500,to_date('2009-3-5','yyyy-MM-dd'),6005);
insert into workinfo values(1004,8003,'杭州',4000,to_date('2009-12-5','yyyy-MM-dd'),6006);
insert into workinfo values(1005,8004,'杭州',4500,to_date('2007-12-5','yyyy-MM-dd'),6006);
insert into workinfo values(1006,8006,'南京',4000,to_date('2009-12-5','yyyy-MM-dd'),6006);
insert into workinfo values(1007,8008,'杭州',4000,to_date('2009-12-5','yyyy-MM-dd'),6006);
insert into workinfo values(1008,8010,'上海',4000,to_date('2007-12-5','yyyy-MM-dd'),6007);
insert into workinfo values(1009,8007,'杭州',4400,to_date('2008-12-5','yyyy-MM-dd'),6007);
insert into workinfo values(1010,8009,'杭州',4000,to_date('2009-12-5','yyyy-MM-dd'),6007);
-- 统计各地区每年就业的人数,显示如下
select a.city,
sum(case when a.years='2007' then a.rs else 0 end) "2007",
sum(case when a.years='2008' then a.rs else 0 end) "2008",
sum(case when a.years='2009' then a.rs else 0 end) "2008",
sum(case when a.years='2010' then a.rs else 0 end) "2009"
from
(
select city,to_char(workdate,'yyyy') years,count(sid)rs
from workinfo
group by city,to_char(workdate,'yyyy')
)a
group by a.city
结果如图:

oracle 行列转换的更多相关文章
- oracle行列转换函数的使用
oracle 10g wmsys.wm_concat行列转换函数的使用: 首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行 ...
- Oracle行列转换的思考与总结
最近几天一直在弄Oracle-SQL的问题,涉及到了一些平时没有用到的东西,也因此而在这里郁闷了好久.现在问题得到了解决虽说不算完美.但是还是和大家一起分享一下. 行列转换之一:sum(case wh ...
- Oracle行列转换
一.建表与插入数据 1.1.建表 create table kecheng ( id NUMBER, name ), course ), score NUMBER ); insert into kec ...
- oracle行列转换总结-转载自ITPUB
原贴地址:http://www.itpub.net/thread-1017026-1-1.html 谢谢原贴大人 最近论坛很多人提的问题都与行列转换有关系,所以我对行列转换的相关知识做了一个总结, 希 ...
- Oracle 行列转换总结
行列转换包括以下六种情况:*列转行*行转列*多列转换成字符串*多行转换成字符串*字符串转换成多列*字符串转换成多行 下面分别进行举例介绍. 首先声明一点,有些例子需要如下10g及以后才有的知识:a.掌 ...
- oracle 行列转换函数之WM_CONCAT和LISTAGG的使用(一)
一.wm_concat函数 wm_concat能够实现同样的功能,但是有时在11g中使用需要用to_char()进行转换,否则会出现不兼容现象(WMSYS.WM_CONCAT: 依赖WMSYS 用户, ...
- [Oracle]行列转换(行合并与拆分)
使用wmsys.wm_concat 实现行合并 在 Oracle 中, 将某一个栏位的多行数据转换成使用逗号风格的一行显示.能够使用函数 wmsys.wm_concat 达成. 这个在上一篇 or ...
- oracle 行列转换的运用
问题: 员工表: A(E_ID,NAME,) 部门表: B(D_ID,D_NAME) 员工与部门关系:C(ID,E_ID,D_ID) SELECT A.E_ID,A.NAME ,B.D_NAME ...
- Oracle行列转换case when then方法案例
select (select name from t_area where id=areaid) 区域, end) 一月, end) 二月, end) 三月, end) 四月, end) 五月, en ...
随机推荐
- NumPy的基本用法
NumPy简介:NumPy是高性能科学计算和数据分析的基础包.是pandas等其他各种工具的基础NumPy主要功能:ndarray,一个多维数组结构,高效且节省空间无需循环对数组数据进行快速运算的数学 ...
- 数据库【mongodb】之pymongo
一个Python操作mongodb的模块 # coding=utf-8 from pymongo import MongoClient #实例化client,建立连接 client = MongoCl ...
- rabbitmq消费者“无故消失”
hi,all 导读:9月1号17:12左右,发现影子队列存在大量“unacked”(收到了消息,但是还没有手动确认消息)的消息,一段时间后“unacked”的数量没有减少,但是观察消费者端的日志, ...
- 开发人员的必备工具Git(初级)
Git是什么 Git是目前世界上最先进的分布式版本控制系统. 这个软件用起来就应该像这个样子,能记录每次文件的改动: 举个栗子 : 版本 用户 说明 日期 1 张三 删除了软件服务条款5 ...
- 【Linux篇】--awk的使用
一.前述 awk是一个强大的文本分析工具.相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,(空格,制表符)为默认分隔符将每行切片 ...
- mysql的学习笔记(五)
1.子查询,出现在其他SQL语句的SELECT子句 SELECT * FROM t1 WHERE col1=(SELECT col2 FROM t2); 第一个SELECT称为外层查询,第二个称为子查 ...
- Ansible自动化运维工具安装与使用实例
1.准备两台服务器,要确定网络是通的.服务器当然越多越好啦....Ansible的简介和好处我就不多说了,自己看百科去(*╹▽╹*) IP:192.168.139.100 IP:192.168.139 ...
- python使用魔法函数创建可切片类型
#!/usr/bin/env python # -*- coding: utf-8 -*- """ 可切片的对象 """ import nu ...
- 强化学习(二)马尔科夫决策过程(MDP)
在强化学习(一)模型基础中,我们讲到了强化学习模型的8个基本要素.但是仅凭这些要素还是无法使用强化学习来帮助我们解决问题的, 在讲到模型训练前,模型的简化也很重要,这一篇主要就是讲如何利用马尔科夫决策 ...
- centos7 python3 pip
pip of python3 installed is play well with Django and spider. #安装pip可以很好的使用django和爬虫 wget https:// ...