表User有字段:name,sex,classId,比如有如下記錄:
a, 男, 1
b, 男, 1
c, 女, 1
d, 女, 1
e, 男, 2
f, 男, 2
要求查出如下這樣的記錄(每個班男、女各有幾人):
classId 男 女
1 2 2
2 1 1
請問要怎樣寫?
如果只是查出每個班的男生人數(shù)就會:
SELECT class, COUNT(*) AS '男' FROM t_uu WHERE sex='男' GROUP BY class;
光陰似箭催人老,日月如移越少年。
命令:
SELECT class_id, SUM(sex = '男') AS male, SUM(sex = '女') AS female FROM student
GROUP BY class_id
結(jié)果:
原數(shù)據(jù):
select * from student;
我的答案建立在樓主的認(rèn)知上,當(dāng)然我也是:
先查出男生的情況,如t1:
|class_id|male|
|:---:|:---:|
|1|2|
|2|1|
然后查出女生的情況,如t2:
class_id | female |
---|---|
1 | 2 |
2 | 1 |
最后把兩張表鏈起來:select t1.class_id,male,female from t1,t2 where t1.class_id = t2.class_id
沒有試,但大概意思是對的吧
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號