--建立臨時表 temp
with
tempas(
select
'湖北省
' nation, '
武漢市' city, '
first
' rank from dual union
allselect
'湖北省
' nation, '
宜昌市' city, '
second
' rank from dual union
allselect
'湖北省
' nation, '
襄陽市' city, '
third
' rank from
dual
)
nation
city
rank
湖北省武漢市
first
湖北省宜昌市
second
湖北省襄陽市
third
--行轉列 sql
select
nation,
max(decode(rank, '
first
', city, ''
)) first,
max(decode(rank, '
second
', city, ''
)) second,
max(decode(rank, '
third
', city, ''
)) third
from
temp
group
by nation
nation
first
second
third
湖北省武漢市
宜昌市襄陽市
--建立臨時表 temp
with
tempas(
select
'湖北省
' nation, '
武漢市' first, '
宜昌市' second, '
襄陽市' third from
dual
)
nation
first
second
third
湖北省武漢市
宜昌市襄陽市
--列轉行 sql
select nation, city, rank from
temp
unpivot (city
for rank in (first, second, third))
nation
city
rank
湖北省武漢市
first
湖北省宜昌市
second
湖北省襄陽市
third
Oracle筆記 之 行列互換
pivot函式 行轉列函式 格式pivot 任一聚合函式 for 需專列的值所在列名 in 需轉為列名的值 pivot函式位於from集合後 示例示例1 select from emp pivot sum nvl sal,0 for deptno in 10 as accounting,20as r...
hive行列互轉
先說行轉列是什麼意思啊,假設有這樣的資料,uid表示使用者,time表示時刻,event表示使用者這個時刻在幹什麼,我們儲存到資料庫中就是這樣的 uidtime event a09 01 00睜眼a 09 02 00 找手機a 09 03 00發呆a 09 04 00洗臉a 09 05 00刷牙a ...
sql 行列互轉
1 行轉列 現有資料 期望資料 1.1建表建資料 if object id temp 20170701 u is not null drop table temp 20170701 create table temp 20170701 id int primary key identity 1,1 ...