sql查询总成绩(sql查询总成绩排前三的学生)
sql查询总成绩排前三的学生
select学生.学号as姓名,sum(成绩.分数)as总分from学生leftjoin成绩on成绩.学号=学生.学号groupby学生.学号sql语句更新:updatetable1setfield1=value1where范围查找:select*fromtable1wherefield1like'%value1%'(所有包含'value1'这个模式的字符串)排序:select*fromtable1orderbyfield1,field2[desc]求和:selectsum(field1)assumvaluefromtable1平均:selectavg(field1)asavgvaluefromtable1最大:selectmax(field1)asmaxvaluefromtable1最小:selectmin(field1)asminvaluefromtable1[separator]
查询成绩前三的sql语句
先排序取最大的三个分数,再用子查询的三个分数联表成绩表不就OK了.
注意在取三个最大分数时用关键字排除重复项.
sql查询成绩前十名
select 学生姓名,入学成绩 from 学生成绩表 where 班级=二班 and 入学成绩>(select max(入学成绩) from 学生成绩表 where 班级=一班)
sql查询排名前三的数据
sql 查询不重复的记录 可以使用 having count group by 组合
先把不重复数据的id查询出来 通过count()计算 只有数目为1的才是不重复的数据
select b.* from table b where b.id in(select a.id from table a group by a.name having count(a.id) <2)//其中 name重复的数据的列名
sql查询总成绩排前三的学生,查出结果名次,姓名,总分
--SQL ServerSelect top 5 * from Studentsorder by score desc--MySQLSelect * from StudentsOrder by score descLimit 5--OracleSelect * from StudentsWhere rownum
sql查询总成绩前三名
怎么在SQL将查出的数据横向显示
1.打开Microsoft SQL Server Management Studio (SSMS),并登录数据库。
2.选项相应的数据库后点击【新建查询】按钮,打开一个新的SQL查询窗口。
3.输入语句 create table #成绩表 (姓名 varchar(30),科目 varchar(30) ,分数 int)创建一个用于举例的名为#成绩表的临时表。包括姓名,科目以及分数字段。
4.成绩表插入一些测试数据。
insert #成绩表
select '张三','语文',88 union all
select '张三','数学',92 union all
select '张三','英语',79 union all
select '李四','语文',68 union all
5.执行语句 select * from #成绩表 查看,可以看到该表的数据是以“竖向”的方式存储,每人每科目为一行显示分数。
6.然后执行如下语句:
select 姓名,
sum(case when 科目='语文' then 分数 end) as '语文',
sum(case when 科目='数学' then 分数 end) as '数学',
即用case when 按科目拆分成3列,并用group by 语句对姓名字段进行汇总,将原来的竖向显示转成了横向显示。
sql查询学生成绩前三名
sql server: select top 5 学号,成绩 from 成绩表 where 课程名=‘数据库’ order by 成绩 desc,学号 oracle : select 学号,成绩 from 成绩表 where 课程名=‘数据库’and rownum