表User有字段:name,sex,classId,比如有如下记录: a, 男, 1 b, 男, 1 c, 女, 1 d, 女, 1 e, 男, 2 f, 男, 2
要求查出如下这样的记录(每个班男、女各有几人): classId 男 女 1 2 2 2 1 1
请问要怎样写? 如果只是查出每个班的男生人数就会: SELECT class, COUNT(*) AS '男' FROM t_uu WHERE sex='男' GROUP BY class;
sql 数据库 mysql
我的答案建立在楼主的认知上,当然我也是: 先查出男生的情况,如t1:
|class_id|male| |:---:|:---:| |1|2| |2|1| 然后查出女生的情况,如t2:
最后把两张表链起来: select t1.class_id,male,female from t1,t2 where t1.class_id = t2.class_id
select t1.class_id,male,female from t1,t2 where t1.class_id = t2.class_id
没有试,但大概意思是对的吧
数据不对吧,classid为2的话应该只有2个男生o(╯□╰)o
命令:
SELECT class_id, SUM(sex = '男') AS male, SUM(sex = '女') AS female FROM student GROUP BY class_id
结果:
原数据:
select * from student;
MySQL数据库应不应该拿掉所有的外键约束?
学校的数据库实验课,遇到一个不能执行的sql
MySQL FOREIGN KEY 约束报错:Can't create table 'outl...
mysql开发数据库命名规范问题
mysql实现查询表中不同字段重复记录的次数?
数据库命名规范?
Instagram初期技术架构