Oracle 在使用pivot時,注意事項

2022-06-25 06:06:11 字數 1110 閱讀 7814

a)         pivot的時候,實際上也是一次分組,並且可以通過聚簇函式來實現統計

b)         pivot在取列名的時候,如果別名有漢字,要用雙引號括起來,或者不用雙引號

c)         如果對應的字段值為非數字或者字母,記得要用單引號引起來,比如下面的』a』

select *

from (select case

when a.score >= 220 and a.score <= 330 then

'(220,330)'

when a.score >= 630 and a.score <= 710 then

'(630,710)'

when a.score < 220 then

'其他'

else

'(' || (ceil((a.score - 330) / 20) * 20 + 330) || ',' ||

(ceil((a.score - 330) / 20 + 1) * 20 + 330) || ')'

end 分數段,

b.score

from subjectregister a

left join subjectregister b

on a.candidatesid = b.candidatesid

where a.testid = '181'

and a.campuscode like '12%'

and a.subjectcode != 's'

and a.subjectcode != 'f'

and (a.score != '0' and a.score is not null and

b.score is not null)

and (b.subjectcode = 's' or b.subjectcode = 'f')) pivot(count(score) for score in('a' "a",

'a+' "a+",

'b' "b",

'b+' "b+",

'c' "c",

'c+' "c+",

'd' "d",

'd+' "d+"))

order by 分數段

oracle 行轉列 使用pivot函式

由上面的表轉變為下面的表 首先建乙個原始表,並插入測試資料,如下 create table sale2 月份 varchar2 20 銷售量 varchar2 20 insert into sale select 一月份 月份,1 銷售量 from dual union select 二月份 月份,...

Oracle 行列轉換函式pivot使用

描述 在專案中,需要將表中日期資料行,用檢視轉列顯示月報表 注意 多聚合必須重新命名。主鍵 varchar2 50 default sys guid not null 日期 varchar2 10 學生姓名 varchar2 20 學生分組 varchar2 10 學號 varchar2 10 in...

Oracle 行列轉換函式pivot使用簡介

語法示例 select from table name pivot max column name01 行轉列後的列的值value,聚合函式是必須要有的 for column name02 in value 1,value 2,value 3 需要行轉列的列及其對應列的屬性1 2 3 建表語句 cr...