case when

SELECT * FROM  category  WHERE EXISTS (SELECT * FROM goods WHERE goods.cat_id = category.cat_id)
category 栏目表
goods  文章表

 

表名: city               

                   

序号      字段名      字段类型      允许为空      默认值      备注    
1 id int(11) NO    
2 name varchar(10) YES    
3 sex smallint(6) YES    
4 count int(4) YES    

 

select name ,
                    sum(    case when sex=1 then count else 0 end )as '女',
                    sum(    case when sex=2 then  count else 0 end) as '男'
from city group by name

 

//表数据

DROP TABLE IF EXISTS `city`;
CREATE TABLE `city` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) DEFAULT NULL,
  `sex` smallint(6) DEFAULT NULL,
  `count` int(4) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

INSERT INTO `city` VALUES ('1', '中国', '1', '340');
INSERT INTO `city` VALUES ('2', '中国', '2', '260');
INSERT INTO `city` VALUES ('3', '美国', '1', '45');
INSERT INTO `city` VALUES ('4', '美国', '2', '55');
INSERT INTO `city` VALUES ('5', '加拿大', '1', '51');
INSERT INTO `city` VALUES ('6', '加拿大', '2', '41');
INSERT INTO `city` VALUES ('7', '英国', '1', '40');
INSERT INTO `city` VALUES ('8', '英国', '2', '60');

posted on 2016-12-27 14:56  炊厨  阅读(103)  评论(0)    收藏  举报

导航