A. sql语句,统计人数问题。
这样就可以了
seletc count(*) as [人数] from 表 group by name
B. SQL查询 统计每门课的选课人数及不及格人数
select a.cnum,a.cname,a.rs,b.bjg_rs
from
(select sec.cnum,c.cname,count(s.snum) as 'rs'
from student s,course c,sc,sections sec
where s.snum = sc.snum and
sc.secnum = sec.secnum and
sec.cnum = c.cnum
group by sec.cnum,c.cname) a
left join
(select sec.cnum,c.cname,count(s.snum) as 'bjg_rs'
from student s,course c,sc,sections sec
where s.snum = sc.snum and
sc.secnum = sec.secnum and
sec.cnum = c.cnum and
sc.score < '60'
group by sec.cnum,c.cname) b
on a.cnum = b.cnum
C. SQL 统计人数怎么写,求高手指导
建表:create table student(
sno char(8) not null primary key,
sname varchar(8),
sex char(2) not null CHECK (sex in('男','女')),
age int ,
grade char(8),
deptno char(8))
统计学生总人数:select count(*) from student;
将学生张三从编号001系转为002系:update student set deptno="002" where sname="张三";
D. 用sql语句完成统计学生的总人数
select * from 表名 这是查到所有数据,
再用一个变量去接收,$xx=select * from
count($xx); 这个是总条数
E. 求助大侠们如何用一个sql 语句统计出失败和成功的数量的 (表见下)我的分全给了
select 地区,业务
,sum(case when 操作 = '退订' and [成功/失败]=1 then 1 else 0 end) as 退订成功量
,sum(case when 操作 = '退订' and [成功/失败]=0 then 1 else 0 end) as 退订成功量
,sum(case when 操作 = '订购' and [成功/失败]=1 then 1 else 0 end) as 订购成功量
,sum(case when 操作 = '订购' and [成功/失败]=0 then 1 else 0 end) as 订购成功量
from 你的表
group by 地区,业务
F. sql 统计人数
select count(stu_id) from student where subject in{‘英语’,‘政治’,‘数学’,‘计算机’,‘C语言编程'}
上述SQL语句为查询科目为这五门课的学生总数,如果用count(*),可能没有剔除重复记录,所以用count(stu_id)
select subject, count(stu_id) from student where subject in{‘英语’,‘政治’,‘数学’,‘计算机’,‘C语言编程'} group by subject
分别查询上述五门科目,每门科目的学生总数,返回的是这样的数据对(pair):(英语,50) (政治, 45)……
select distinct name from student where subject in{‘英语’,‘政治’,‘数学’,‘计算机’,‘C语言编程'}
查询选择上述五门课的所有学生名字,必须加上关键词distinct,以除去重复的名字(比如同一个学生可以同时选上述五门课)
select subject, distinct name from student where subject in {‘英语’,‘政治’,‘数学’,‘计算机’,‘C语言编程'}group by subject
分别查询上述五门科目各科的学生名字,返回结果为(科目,学该科目的学生名字)
G. 分别统计及格及不及格的总人数用sql语句
这里提供一个各种数据库都通用的写法供参考
假设数据表结构为:
分数表(姓名,分数)
selectcount(t.p)as格及总人数,count(t.f)as不格及总人数
from(
select1asp,0asffrom分数表where分数>=60
unionall
select0,1from分数表where分数<60)t;
H. SQL语句求助:统计各班每门课程成绩均不及格的同学人数
根据题目要求,简单分析可以知道,其实这条查询语句只使用“学生选课”和“学生”这两张表即可。此处应该使用“左连接”,用学生表中的班级字段进行“分组”,用COUNT()函数对分数小于60的同学的个数进行统计。
SELECT 学生.班级,COUNT(学生选课.成绩<60)
FROM 学生选课
LEFT JOIN 学生
ON 学生选课.学生ID=学生.学生ID
GROUP BY 学生.班级
你可以进行验证一下,如果不对,或者有更优化的方法,可以相互学习!
I. SQL统计人数
假设目前有一张表YLTJ(医疗统计),BQ代表病区,下面的语句可以实现你要的结果:
select BQ "病区",
sum(case YZNR
when 'Ⅰ级护理' then
1
else
0
end) "Ⅰ级护理",
sum(case YZNR
when 'Ⅱ级护理' then
1
else
0
end) "Ⅱ级护理",
sum(case YZNR
when '特级护理' then
1
else
0
end) "特级护理"
from yltj
group by BQ
J. SQL统计每门课程的不及格人数
你的要求有点特别,要求 学号!
如果只是
统计每门课程的不及格人数下面的SQL就可以啦:
select cnum,count(cnum) as 不及格人数
from sc
where score < 60
group by cnum 注意:是对课程号分组哟,楼上的是错的。
如果你要输出学号:
Select sc.snum as 学号,
a.cnum as 课程号,
a.不及格人数
From sc,
(select cnum,count(cnum) as 不及格人数
from sc
where score < 60
group by cnum) as a
where sc.score<60 and sc.cnum=a.cnum
以上我相信是没有问题的,你测试一下!
如果OK,给分哟
呵呵