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号 |
G |
SET @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弄小区 | 新月明珠园 | total |
| A | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| B | 4 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
| C | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| D | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| E | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| F | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| G | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| total | 10 | 1 | 1 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |

2万+

被折叠的 条评论
为什么被折叠?



