什么SQL语句可以筛选出经过分组的前N个较大的记录?(50分)

  • 主题发起人 主题发起人 zjly808
  • 开始时间 开始时间
Z

zjly808

Unregistered / Unconfirmed
GUEST, unregistred user!
pd数据库,表table1的结构:
姓名(字符) 群众评议(整型1-10分) 笔试成绩(整型0-100分)

从中选出N条记录,选择原则如下:
1、优先选择“群众评议”分数高的记录;
2、在“群众评议”分数相同的情况下,优先选择“笔试成绩”值高的记录,
“笔试成绩”也相同时,按报名顺序(表的自然顺序)依次选取;
3、N可以取值1到25;
4、选出的记录放入另一个相同结构的表table2中
怎样用SQL语句实现?谢谢!!
 
paradox数据库,表table1的结构:
姓名(字符) 群众评议(整型1-10分) 笔试成绩(整型0-100分)

从中选出N条记录,选择原则如下:
1、优先选择“群众评议”分数高的记录;
2、在“群众评议”分数相同的情况下,优先选择“笔试成绩”值高的记录,
“笔试成绩”也相同时,按报名顺序(表的自然顺序)依次选取;
3、N可以取值1到25;
4、选出的记录放入另一个相同结构的表table2中
怎样用SQL语句实现?谢谢!!
 
pd我不知道,好像
SQL Server可以
select top 10 from table order by 群众评议,笔试成绩
放入另外一个表可以用
insert into table2
select top 10 from table order by 群众评议,笔试成绩
 
TO Brave:
呵呵,老大,偶认为应该这样才对
select top 10 from table order by 群众评议 desc,笔试成绩 desc//使用降序,这样才能得到由高到低的记录
insert into table2 select top 10 from table order by 群众评议 desc,笔试成绩 desc
 
中间用个临时表吧
 
谢谢大虾指点!
语句 select 群众评议 from table order by 群众评议,笔试成绩
运行正常;
但是,语句select top 10 from table order by 群众评议,笔试成绩
和 语句 select top 10 群众评议 from table order by 群众评议,笔试成绩
均发生错误!
为什么?怎样改?
是否Delphi6不支持 Top ?
或者,我需要配置数据库环境?
请指点,谢谢!
 
不是,是paradox不支持
top 10是SQL Server的语法
db2是 fetch first 10 rows
我没有办法,除非编程序
 
桌面数据库中ACCESS支持top 10这样的语法
 
对于paradox数据库,怎样实现类似
select top 10 群众评议 from table order by 群众评议,笔试成绩
的功能?
怎样筛选出前N条记录?

 
在用Paradox的情况下Table加上索引比Query用SQL的效率要高许多倍!!!
建立一个复合索引解决了算了,要么就换库吧,在Paradox上用SQL实在得不偿失!!!
 
win98(中文)+delphi6环境下,可以更换什么数据库?(不另外增加数据库驱动)
 
用Paradox上面直接用TTable控件去操作就可以了,用SQL反而因为转换命令而降低效率。
 
paradox没有办法,用SQL Server把
 
"paradox没有办法,用SQL Server把"
安置SQL数据库需要另外安置什么软件?
 
装SQL Server的个人版
 
其实,我一直用db2,db2个人版和企业版
for Windows for aix for Linux
 
多人接受答案了。
 
后退
顶部