数据库查询:选取前三名(考虑积分重复问题)

rockhard 2002-08-27 12:01:28
数据库查询:选取前三名(考虑积分重复问题)

假设表结构为:

编号 姓名 得分
------------------------
ID NAME SCORE


请大家帮助写出SQL语句或给出简便的处理方法。
...全文
322 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
TR@SOE 2002-08-28
  • 打赏
  • 举报
回复
用IB也很简单:

select * from table1
order by scored desc
rows 4 to 10
with ties

如果不考虑并列,就去掉with ties
hellobcb 2002-08-28
  • 打赏
  • 举报
回复
如果是选取第四名到第十名呢?
TR@SOE 2002-08-27
  • 打赏
  • 举报
回复
如果你是用IB,那就很简单了:

select id, name, score from table1
order by score desc
rows 3
with ties
xuby5228 2002-08-27
  • 打赏
  • 举报
回复
select * from table where ID in
(
select top 6 ID from table a where ID=a.ID
order by SCORE desc
)
这样应该不错了吧!
xiaoyu 2002-08-27
  • 打赏
  • 举报
回复
select top 3....
coolpony 2002-08-27
  • 打赏
  • 举报
回复
huang_jihua(不懂……学习) 说的应该是对的。
select top 3 * from yourtable order by score desc
rockhard 2002-08-27
  • 打赏
  • 举报
回复
Access 下用什么语句?
huang_jihua 2002-08-27
  • 打赏
  • 举报
回复
SQL SERVER 应该是
select top 3 id, name, score
from table1
order by score desc
……………………………………………………………………………………

,--^----------,--------,-----,-------^--,
| ||||||||| `--------' | O
`+---------------------------^----------|
`\_,-------, _________________________|
/ XXXXXX /`| /
/ XXXXXX / `\ /
/ XXXXXX /\______(
/ XXXXXX /
/ XXXXXX /
(________(
`------'
……………………………………………………………………………………
sharkxie 2002-08-27
  • 打赏
  • 举报
回复
楼上的是不是有误?
select top3 id,name,score from table1 order by score desc
yj33cn 2002-08-27
  • 打赏
  • 举报
回复
TR@SOE的方法不错
耙子 2002-08-27
  • 打赏
  • 举报
回复
sqlserver也好办。就是很多书都不支持 top 3 这类的写法

select id, name, score top 3
from table1
order by score desc

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧