| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 759 人关注过本帖
标题:请教各位老师,如何求出各种名次
只看楼主 加入收藏
老去的流星雨
Rank: 2
等 级:论坛游民
帖 子:24
专家分:57
注 册:2023-9-9
收藏(1)
得分:0 
回复 19楼 jinanshui
用了点时间写完了,同分数同名次
LOCAL lcField,lcSQL
lcField = ""
SELECT CJ
FOR m.i= 3 TO 12
    TEXT TO m.lcField ADDITIVE NOSHOW TEXTMERGE
        <<FIELD(m.i)>>,00000 AS <<FIELD(m.i)>>班名次,00000 AS <<FIELD(m.i)>>总名次,
    ENDTEXT
ENDFOR
m.lcSQL = "SELECT 学号,SUBSTR(学号,3,2) AS 班级,姓名,"+LEFT(m.lcField,LEN(m.lcField)-1)+" FROM CJ INTO CURSOR CJPM READWRITE"
EXECSCRIPT(m.lcSQL)
SELECT CJ
FOR m.i= 3 TO 12
    TEXT TO m.lcSQL NOSHOW TEXTMERGE
        SELECT 班级,<<FIELD(m.i)>>,00000 AS <<FIELD(m.i)>>班名次 FROM CJPM GROUP BY 班级,<<FIELD(m.i)>> ORDER BY 班级,<<FIELD(m.i)>> DESC INTO CURSOR TempCursor READWRITE
        UPDATE TempCursor SET <<FIELD(m.i)>>班名次 = RECNO()
        UPDATE TempCursor SET <<FIELD(m.i)>>班名次 = RECNO()-启始 from (SELECT 班级,MIN(<<FIELD(m.i)>>班名次)-1 启始 FROM TempCursor GROUP BY 班级) A WHERE TempCursor.班级=A.班级
        UPDATE CJPM SET <<FIELD(m.i)>>班名次 = TempCursor.<<FIELD(m.i)>>班名次 FROM TempCursor WHERE CJPM.班级 = TempCursor.班级 AND CJPM.<<FIELD(m.i)>> = TempCursor.<<FIELD(m.i)>>
        SELECT <<FIELD(m.i)>>,00000 AS <<FIELD(m.i)>>总名次 FROM CJPM GROUP BY <<FIELD(m.i)>> ORDER BY <<FIELD(m.i)>> DESC INTO CURSOR TempCursor READWRITE
        UPDATE TempCursor SET <<FIELD(m.i)>>总名次 = RECNO()
        UPDATE CJPM SET <<FIELD(m.i)>>总名次 = TempCursor.<<FIELD(m.i)>>总名次 FROM TempCursor WHERE CJPM.<<FIELD(m.i)>> = TempCursor.<<FIELD(m.i)>>
    ENDTEXT
    EXECSCRIPT(m.lcSQL)
    SELECT CJ
ENDFOR
SELECT CJPM
BROWSE

[此贴子已经被作者于2024-2-21 09:35编辑过]

2024-02-21 08:58
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9805
专家分:26913
注 册:2012-2-5
收藏
得分:0 
回复 21楼 老去的流星雨
施主功力深厚,代码精练,收藏了。


坚守VFP最后的阵地
2024-02-21 09:48
老去的流星雨
Rank: 2
等 级:论坛游民
帖 子:24
专家分:57
注 册:2023-9-9
收藏
得分:0 
回复 22楼 sdta
共同交流学习
2024-02-21 15:09
快速回复:请教各位老师,如何求出各种名次
数据加载中...
 
   



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

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