Mysql實現行轉列

2021-08-07 09:38:13 字數 1474 閱讀 6494

create table loc(loc varchar(50),xiaoqu varchar(50),addr varchar(50),company varchar(50))

插入資料

區域

小區名稱

房屋位址

中介公司寶山

慶安三村

綏化路52弄a寶山

月浦十村

月浦十村67號b寶山

盛橋三村

盛橋三村94號c寶山

月浦四村

月浦四村42號d寶山

樂業二村

春雷路332弄e寶山

月浦二村

月浦二村19號b寶山

陽光美林苑

月富路218弄c寶山

月浦六村

月浦六村7號f寶山

春雷路431弄小區

春雷路431弄b寶山

新月明珠園

塔源路150弄b寶山

盛橋三村

盛橋三村1號

gset @sq1='';

select @sq1:=concat(@sq1,'sum(if(xiaoqu=\'',xiaoqu,'\'',',1,0)) as ',xiaoqu,',') as col4 from (select distinct xiaoqu from loc) a

set @sq2=concat('select ifnull(company,\'total\') as companyname,count(distinct xiaoqu) as xiaoqucnt,',left(@sq1,length(@sq1)-1),' sum(xiaoqu) as total  from  loc group by company with rollup');

prepare statm from @sq2;

execute statm;

輸出結果

companyname

xiaoqucnt

慶安三村

月浦十村

盛橋三村

月浦四村

樂業二村

月浦二村

陽光美林苑

月浦六村

春雷路431弄小區

新月明珠園

totala1

1000

0000

000b

4010

0010

0110

c200

1000

1000

0d10

0010

0000

00e1

0000

1000

000f

1000

0000

1000

g100

1000

0000

0total101

1211

1111

10

SQL實現行轉列

需求 用sql實現行轉列。如下圖所示 行顯示的資料轉換成列顯示 實現行轉列的sql指令碼如下 select date format last day date format now y m d y m d as 業務日期,max case index code when ind20101001 th...

pandas實現行轉列

hive進行大資料分析資料經常用到行轉列,pandas也可以的。不解釋直接上 coding utf 8 import pandas as pd c df pd.dataframe c print df df left df key df values 0 df values str.split ex...

sql實現行轉列

行轉列不留空 select a as 訂單號 四川 as 位址 into result insert into result select a as 訂單號 成都 as 位址 union all select b as 訂單號 新疆 as 位址 union all select b as 訂單號 喀...