搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 如何选取前几名学生,同分自动顺延选取
标题:
如何选取前几名学生,同分自动顺延选取
只看楼主
booksoon
等 级:
论坛游民
威 望:
3
帖 子:19
专家分:67
注 册:2017-10-30
第
11
楼
得分:0
回复 10楼 sdta
好吧,也许vfp中不能用rank()?
SELECT 姓名,总分 FROM (SELECT *,(SELECT COUNT(DISTINCT 总分) FROM 成绩表 WHERE 总分 >=A.总分) AS 名次 FROM 成绩表 AS A ORDER BY 名次) AS B WHERE B.名次<=10
要不就用这个子查询,这个VFP中应该没问题吧
2017-10-31 11:19
booksoon
等 级:
论坛游民
威 望:
3
帖 子:19
专家分:67
注 册:2017-10-30
第
12
楼
得分:0
SELECT 姓名,总分 FROM (SELECT 姓名,总分,(SELECT COUNT(DISTINCT 总分) FROM 成绩表 WHERE 总分 >= A.总分) AS 名次 FROM 成绩表 AS A ORDER BY 名次) AS B WHERE B.名次<=10
2017-10-31 11:22
schtg
来 自:https://t.me/pump_upp
等 级:
贵宾
威 望:
67
帖 子:1355
专家分:2534
注 册:2012-2-29
第
13
楼
得分:0
@booksoon,经测试,可行,学习啦,谢谢!
2017-10-31 13:42
mywisdom88
等 级:
版主
威 望:
190
帖 子:3125
专家分:8340
注 册:2015-3-25
第
14
楼
得分:0
9楼的是SQL2005以上取行号的代码
SQL2000和VFP都不能运行
2017-10-31 13:50
lsd1981
等 级:
新手上路
帖 子:3
专家分:0
注 册:2017-10-30
第
15
楼
得分:0
谢谢各位指点啊
2017-11-01 08:01
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
323
帖 子:9621
专家分:26174
注 册:2012-2-5
第
16
楼
得分:0
代码不在于多少,关键在于程序运行速度如何
坚守VFP最后的阵地
2017-11-01 08:25
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
323
帖 子:9621
专家分:26174
注 册:2012-2-5
第
17
楼
得分:0
以下是引用
booksoon
在2017-10-31 11:22:14的发言:
SELECT 姓名,总分 FROM (SELECT 姓名,总分,(SELECT COUNT(DISTINCT 总分) FROM 成绩表 WHERE 总分 >= A.总分) AS 名次 FROM 成绩表 AS A ORDER BY 名次) AS B WHERE B.名次<=10
CREATE CURSOR 成绩表 (姓名 C(10),总分 n(3))
=RAND(-1)
FOR i=1 TO 2000
INSERT INTO 成绩表 VALUES (SYS(2015),RAND()*500)
ENDFOR
用测试数据验证一下代码的正确性
坚守VFP最后的阵地
2017-11-01 08:37
17
2/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-481936-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.430437 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved