帮忙写一个SQL语句。帮我写上注释。在线等。
做一个统计功能。
有两个表。一个是地区。一个是学生表。
city student
显示所有地区。每个地区学生人数。每个地区开通1号功能的人数,开通2号功能的人数。登陆过得人数。
sid stu_num a1_num a2_num log_num
求救。
[解决办法]
select c.sid,sum(case when 功能 = 1 then 1 else 0 end ) as '开通1号功能的人数',sum(case when 功能 = 2 then 1 else 0 end ) as '开通2号功能的人数',count(s.sid) as '登录人数'from city cleft join student s on c.sid= s.sidgroup by c.sid
[解决办法]
SELECT 城市表.Ssdm Sid,
COUNT(学生表.Sname) Stu_Num,
SUM(CASE
WHEN 字段开通1号 THEN 1 ELSE 0
END) A1_Num,
SUM(CASE
WHEN 字段开通2号 THEN 1 ELSE 0
END) A2_Num,
COUNT(学生表.Loginnum) Log_Num
FROM 学生表, 城市表
WHERE 城市表.Ssdm = 学生表.Ssdm
GROUP BY 城市表.Ssdm