sql统计语句

表: 学生{
学号

名字
课程
}
课程{
号码
课程名

}
怎么用sql语句统计一个学生中有多少个课程

sql语言诞生有一段时间了,里面有一些自带的很方便的函数,对于操作数据库来说是非常方便的,下面就介绍几种统计。

1、统计记录数 count函数,可以统计出这条sql会查询出多少条记录很多人用count(*),但建议用count(1)。

2、求合函数 sum,select SUM(num) from tmp_p,对表中 num列进行求合。

3、求平均值,select AVG(num) from tmp_p,对表中 sum列进行求平均值。

4、取出最大值,select MAX(num) from tmp_P,取出num列中最大的一个。

5、取出最小值,select MIN(num) from tmp_P,取出,num列中最小的一个。

6、将数值型数据转换成字符型,select CONVERT(varchar(10),num) from tmp_p,该函数属于sql server的函数,其它数据库可参考相关资料。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-18
select 学号,姓名,count(distinct 课程) from 学生
where 学号='????'输入条件,如果统计每个学生可以删除此行
group by 学号,姓名

你统计的内容跟课程表没啥关系,课程表只是一个描述表。
第2个回答  推荐于2018-02-27
select count(*) from 课程 where 号码=(select 号码 fron 学生 where 名字="")本回答被提问者和网友采纳
第3个回答  2008-05-29
1.select * from 学生表
2.select 学号,姓名,年龄 from 学生表
3.select 学号,姓名,年龄 from 学生表 where 年龄 between 18 and 20 and 系别=‘IS’
4.select 学号,姓名,年龄 from 学生表 where 姓名 like '李%' or 姓名 like '李%'
5 select distinct 学号 from 学生表 where 成绩 <60
6. select 姓名,年龄,系名 from 学生表 where 系 in ('IS','CS') order by 系名 ASC,姓名 desc
7 select count(*) from 学生表 where 系= 'IS'
8 select count(*) ,max(分数),min(分数)from 学生表
9 select 课程号,count(*),avg(分数) from 学生表 group by课程号
10 select 学号,count(*) from 学生表
11 select avg(分数),课程号 from 学生表 group by 课程号
12 select avg(分数),课程号 from 学生表 group by 课程号 order by avg(分数)
13 select count(*),学号 from 学生表 group by 学号
14 select count(*)a,学号 from 学生表 group by 学号 order by a
15 select 课程名称,avg(分数) from 学生表 group by 课程名
16 select 课程标号,课程名称,avg(分数) from 学生表 group by 课程号,课程名
17 select 课程名称,avg(分数)a from 学生表 where a >70
18 select 姓名,count(*) a from 学生表 group by 姓名
19 select 学号,姓名,count(*) a from 学生表 group by 学号,姓名
20select 学生姓名,count(*) a from 学生表 where a> 4 group by 学生姓名
相似回答