create table stu_table(Student varchar2(20),Subject varchar2(20));
insert into stu_table values('A','Science');
insert into stu_table values('A','math');
insert into stu_table values('A','eng');
insert into stu_table values('B','Science');
insert into stu_table values('B','math');
insert into stu_table values('B','eng');
insert into stu_table values('C','math');
commit;
select * from stu_table;
select STUDENT, SUBJECT,max(student) over(partition by student) stu_GRP
from stu_table;
select SCIENCE, MATH, ENG
from (
select STUDENT, SUBJECT,STUDENT stu_GRP
from stu_table)
pivot(max(student) for subject in ('Science' as Science,'math' as math,'eng' as eng))
order by stu_GRP;
select STUDENT, max(decode(SUBJECT,'Science',STUDENT)) Science,
max(decode(SUBJECT,'math',STUDENT)) math,
max(decode(SUBJECT,'eng',STUDENT)) eng
select STUDENT, SUBJECT
from stu_table
group by STUDENT
order by student;
-------------------------------------------------------------------------------------------------
drop table t;
create table t(id number, val varchar2(30));
insert into t values(1,'amit');
insert into t values(1,'kumar');
insert into t values(1,'sharma');
insert into t values(2,'kishor');
insert into t values(2,'kumar');
insert into t values(2,'prasad');
insert into t values(2,'dev');
insert into t values(3,'siva');
insert into t values(3,'kumar');
commit;
select * from (select id,val,row_number() over(partition by id order by rownum) n_id
from t)
pivot(max(val) for n_id in (1,2,3,4));
SELECT
id,max(decode(n_id,1,val)) v1,max(decode(n_id,2,val)) v2,max(decode(n_id,3,val)) v3,max(decode(n_id,4,val)) v4
FROM
(
SELECT
id,
val,
ROW_NUMBER() OVER(PARTITION BY id ORDER BY ROWNUM) n_id
FROM
t
)
GROUP BY ID;
-------------------------------------------------------------------------------------------------
No comments:
Post a Comment