有个表 ware 其中字段:pinzhong(品种),pinpai(品牌),xinghao(型号),shangdian(分店),zhuangtai(状态:已销售或未销售)
例如:
pinzhong pinpai xinghao shangdian zhuangtai
数码相机 索尼数码 F717 仓库 未销售
U盘 清华紫光 12G 仓库 未销售
U盘 清华紫光 8G 中山分店 已销售
MP3 清华紫光 1G 仓库 未销售
数码相机 索尼数码 F717 中山分店 未销售
MP3 清华紫光 1G 嘉贸分店 已销售
MP3 清华紫光 1G 嘉贸分店 未销售
MP3 清华紫光 1G 中山分店 已销售
现在我要按照分店(shangdian)分组统计出 各种类|品牌|型号 为'未销售'的数然后排列如下 pinzhong pinpai xinghao 仓库 中山分店 嘉贸分店
数码相机 索尼数码 F717 1 1 0
U盘 清华紫光 12G 1 0 0
U盘 清华紫光 8G 0 1 0
MP3 清华紫光 1G 1 1 2
请问如何实现??sql语句应如何写?
例如:
pinzhong pinpai xinghao shangdian zhuangtai
数码相机 索尼数码 F717 仓库 未销售
U盘 清华紫光 12G 仓库 未销售
U盘 清华紫光 8G 中山分店 已销售
MP3 清华紫光 1G 仓库 未销售
数码相机 索尼数码 F717 中山分店 未销售
MP3 清华紫光 1G 嘉贸分店 已销售
MP3 清华紫光 1G 嘉贸分店 未销售
MP3 清华紫光 1G 中山分店 已销售
现在我要按照分店(shangdian)分组统计出 各种类|品牌|型号 为'未销售'的数然后排列如下 pinzhong pinpai xinghao 仓库 中山分店 嘉贸分店
数码相机 索尼数码 F717 1 1 0
U盘 清华紫光 12G 1 0 0
U盘 清华紫光 8G 0 1 0
MP3 清华紫光 1G 1 1 2
请问如何实现??sql语句应如何写?
CREATE TABLE `test_sum` (
`name` varchar(10) default NULL,
`band` varchar(20) default NULL,
`type` varchar(30) default NULL,
`branch` varchar(20) default NULL,
`status` varchar(100) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;INSERT INTO `test_sum` VALUES ('数码相机','索尼数码','F717','仓库','未销售');
INSERT INTO `test_sum` VALUES ('U盘','清华紫光','12G','仓库','未销售');
INSERT INTO `test_sum` VALUES ('U盘','清华紫光','8G','中山分店','已销售');
INSERT INTO `test_sum` VALUES ('MP3','清华紫光','1G','仓库','未销售');
INSERT INTO `test_sum` VALUES ('数码相机','索尼数码','F717','中山分店','未销售');
INSERT INTO `test_sum` VALUES ('MP3','清华紫光','1G','嘉茂分店','未销售');
INSERT INTO `test_sum` VALUES ('MP3','清华紫光','1G','中山分店','已销售');
INSERT INTO `test_sum` VALUES ('MP3','清华紫光','1G','嘉茂分店','已销售');select name,band,type,sum(if(branch='仓库',1,0)) as cangku,sum(if(branch='中山分店',1,0)) as zhongshang,sum(if(branch='嘉茂分店',1,0)) as jiamao from test_sum where status='未销售' group by name, band,type;