Chinaunix首页 | 论坛 | 博客
  • 博客访问: 133957
  • 博文数量: 35
  • 博客积分: 1002
  • 博客等级: 准尉
  • 技术积分: 345
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-03 14:30
文章分类

全部博文(35)

文章存档

2014年(7)

2013年(8)

2011年(4)

2010年(9)

2009年(7)

我的朋友

分类: Oracle

2013-01-06 14:07:07

一个群友的提问:
转换成
 create table htol (name varchar2(20),year varchar2(20));
 insert into htol values('A','2012');
--执行三次
insert into htol values('B','2012');
--执行五次
insert into htol values('A','2010');
--执行三次
insert into htol values('B','2010');
--执行两次
SQL> select * from htol;
NAME                 YEAR
-------------------- --------------------
A                    2012
A                    2012
A                    2012
B                    2012
B                    2012
B                    2012
B                    2012
B                    2012
A                    2010
A                    2010
A                    2010
NAME                 YEAR
-------------------- --------------------
B                    2010
B                    2010
已选择13行。
SQL> select year,decode(name,'A',total) name_a,decode(name,'B',total) name_b
from (select year,name,count(*) total from htol group by year,name) ;
YEAR                     NAME_A     NAME_B
-------------------- ---------- ----------
2010                          3
2012                                     5
2010                                     2
2012                          3
还有更好的方法实现图二的显示结果吗?
阅读(445) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~