标题:请帮忙排序
只看楼主
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 20楼 sdta
@sdta,非常感谢!通过分段人数和累计人数确定排名,这就很快的,谢谢!
2023-03-20 05:42
丁春秋yxp
Rank: 4
等 级:贵宾
威 望:10
帖 子:239
专家分:287
注 册:2017-10-31
得分:0 
以下是引用sdta在2023-3-19 22:34:07的发言:

CLOSE DATABASES
SET COLLATE TO "MACHINE"
* 联考名次
SELECT * FROM xqpx ORDER BY xk, jf DESC INTO CURSOR temp READWRITE
BLANK FIELDS lkpx ALL
lcxk = SPACE(0) && 学科
lnjf = 0 && 均分
lnmc = 1 && 名次
lnrs = 0 && 记录全部同科人数
SCAN
    lnrs = lnrs + 1
    IF xk == lcxk
        IF jf = lnjf
        ELSE
            lnmc = lnrs
        ENDIF
    ELSE
        lnmc = 1
        lnrs = 1
    ENDIF
    REPLACE lkpx WITH lnmc
    lcxk = xk
    lnjf = jf
    lnmc = lkpx
ENDSCAN
* 同市同科名次
SELECT * FROM temp ORDER BY dsmc,xk, jf DESC INTO CURSOR temp READWRITE
BLANK FIELDS bspx ALL
lcxk = SPACE(0) && 学科
lnjf = 0 && 均分
lnmc = 1 && 名次
lnrs = 0 && 记录本市同科人数
lcbs = SPACE(0) && 地市名称
SCAN
    lnrs = lnrs + 1
    IF dsmc == lcbs AND xk == lcxk
        IF jf = lnjf
        ELSE
            lnmc = lnrs
        ENDIF
    ELSE
        lnmc = 1
        lnrs = 1
    ENDIF
    REPLACE bspx WITH lnmc
    lcxk = xk
    lnjf = jf
    lnmc = bspx
    lcbs = dsmc
ENDSCAN
* 同县同科名次
SELECT * FROM temp ORDER BY xqmc,xk, jf DESC INTO CURSOR temp READWRITE
BLANK FIELDS bxpx ALL
lcxk = SPACE(0) && 学科
lnjf = 0 && 均分
lnmc = 1 && 名次
lnrs = 0 && 记录本县同科人数
lcbx = SPACE(0) && 县名称
SCAN
    lnrs = lnrs + 1
    IF xqmc == lcbx AND xk == lcxk
        IF jf = lnjf
        ELSE
            lnmc = lnrs
        ENDIF
    ELSE
        lnmc = 1
        lnrs = 1
    ENDIF
    REPLACE bxpx WITH lnmc
    lcxk = xk
    lnjf = jf
    lnmc = bxpx
    lcbx = xqmc
ENDSCAN
BROWSE

大佬电脑什么配置,这么快
2023-03-20 22:02
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
配置情况

坚守VFP最后的阵地
2023-03-20 22:22
qqln
Rank: 2
等 级:论坛游民
帖 子:9
专家分:16
注 册:2021-8-8
得分:0 
不是电脑配置的问题,肯定是写错了,不是1.5s,应该是1.5m
2023-03-21 06:13
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 24楼 qqln
可以验证的,确实小于1.5秒的哈。


[此贴子已经被作者于2023-3-21 06:53编辑过]

2023-03-21 06:29
qqln
Rank: 2
等 级:论坛游民
帖 子:9
专家分:16
注 册:2021-8-8
得分:0 
用70200条纪录的表?我怎么不行呢?
2023-03-21 06:40
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 26楼 qqln
用vfp9吧
2023-03-21 06:47
qqln
Rank: 2
等 级:论坛游民
帖 子:9
专家分:16
注 册:2021-8-8
得分:0 
用的是vfp9
2023-03-21 06:50
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 26楼 qqln
不行的意思是不能运行?还是耗时更多?哈哈^_^
2023-03-21 06:56
qqln
Rank: 2
等 级:论坛游民
帖 子:9
专家分:16
注 册:2021-8-8
得分:0 
回复 29楼 schtg
能运行,但大于1m
2023-03-21 06:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511593-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.074180 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved