以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  学生成绩多重条件排名  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161640)

--  作者:awnu
--  发布时间:2021/3/25 10:23:00
--  学生成绩多重条件排名

Dim s As List(Of String) = DataTables("九年级").GetValues("年级")
For Each jb As String In s
    Dim drs As List(Of DataRow) = DataTables("九年级").Select("[年级] = " & jb, "总分 DESC")
    For n As Integer = 0 To drs.Count - 1 
        If n > 0 AndAlso drs(n)("总分") = drs(n-1)("总分") Then 
            drs(n)("总分依年级排名") = drs(n-1)("总分依年级排名") 

        Else
            drs(n)("总分依年级排名") = n + 1 
        End If
    Next
Next

 

 

这可能实现以年级排名,如有几个学校,且班级名有重复的,如何实现以班级排名次?


--  作者:有点蓝
--  发布时间:2021/3/25 10:36:00
--  
排名按照的是总分,和班级名称有什么关系?
--  作者:awnu
--  发布时间:2021/3/25 10:39:00
--  
现在是有好多个学校,好多个班,且班级名称有重复的,在依班排名!
--  作者:有点蓝
--  发布时间:2021/3/25 10:44:00
--  
如果要区分不同学校,加上学校名称条件

Dim s As List(Of String) = DataTables("九年级").GetValues("年级","学校=’xxx‘")
For Each jb As String In s
    Dim drs As List(Of DataRow) = DataTables("九年级").Select("[年级] = " & jb & “ and 
学校=’xxx‘”, "总分 DESC")


--  作者:awnu
--  发布时间:2021/3/25 11:03:00
--  
执行没有结果!


--  作者:有点蓝
--  发布时间:2021/3/25 11:29:00
--  
请截图,贴出代码举例说明,或者上传实例
--  作者:awnu
--  发布时间:2021/3/25 16:12:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看



--  作者:awnu
--  发布时间:2021/3/25 16:13:00
--  
如图,有多个学校有1,2班,依班级排名时怎么做?



--  作者:有点蓝
--  发布时间:2021/3/25 16:19:00
--  
请上传实例说明
--  作者:awnu
--  发布时间:2021/3/25 16:28:00
--  

Dim s As List(Of String) = DataTables("九年级").GetValues("班级")
For Each jb As String In s
    Dim drs As List(Of DataRow) = DataTables("九年级").Select("[班级] = " & jb, "总分 DESC")
    For n As Integer = 0 To drs.Count - 1 
        If n > 0 AndAlso drs(n)("总分") = drs(n-1)("总分") Then 
            drs(n)("总分依年级排名") = drs(n-1)("总分依年级排名") 

        Else
            drs(n)("总分依年级排名") = n + 1 
        End If
    Next
Next