一条sql语句,查询出全部分类各前10记录
2010-01-23 10:47
639 查看
一条sql语句,查询出全部分类各前10记录
如一班级成绩表现建立课程表 tableA
sid sname
1 语文
2 数学
3 英语
.......
在建学生成绩库 tableB
id sid fen name
1 1 100 张三
2 1 89 李四
3 1 95 王五
4 2 89 张三
5 3 78 王五
6 2 99 王五
.....
现使用
可以显示出所有科目前10名单
select a.sid,sname,id,fen,name from tableA a inner join
(select * from tableB b
where id in(
select top 10 id from tableB where sid=b.sid
order by fen desc)) as b
on a.sid=b.sid
order by a.sid,fen desc
或
SELECT sid, sname, fen,name
FROM (SELECT px =
(SELECT COUNT(1) + 1
FROM tableB
WHERE sid = b.sid AND fen > b.fen), a.sid, a.sname, b.fen,b.name
FROM tableA a JOIN
tableB b ON a.sid = b.sid) t
WHERE (px <= 10)
ORDER BY sid, fen DESC
相关文章推荐
- 一条sql语句,查询出全部分类各前10记录
- 一条sql语句,查询出全部分类各前10记录
- SQL 语句 一对多关系,根据一查询多里面对应一的最新的一条记录
- 使用传入的总记录数实现一条sql语句完成分页查询
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- 关于SQL语句查询最近联系人聊天记录(即最近一条消息)
- Mysql查询最近一条记录的sql语句(优化篇)
- 常用的文章系统,如何用一条sql语句提取出每个分类的第一条并按OrderCol字段排序。分类大概几十个,一共只要取top 10 这样
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- 数据库中随机查询一条记录的SQL语句
- 转载:如何写个SQL语句查询一个字段里是否有重复记录如果有只读取其中一条记录
- SQL根据Id来查询一条记录或全部记录
- 一条sql搞定从查询语句中向目标表中插入记录并去重发插入
- 绝对经典sql语句查询分类前几条信息 ,并按某字段排序
- 查询表内多字段同时重复记录的SQL语句
- 查询orcale运行的SQL语句记录
- 通过sql语句向oracle数据库中插入一条记录(含有主键),系统当前时间插入表中 ,空值插入表中
- MySQL入门(1)- SQL语句分类&查询语句
- SQL查询当前数据以及上一条和下一条三条记录
- 关于获取每一条查询语句的记录数的方法总结