以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 成绩排名 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91463) |
||||
-- 作者:刘林 -- 发布时间:2016/10/11 14:21:00 -- 成绩排名 老师,你好,有一个成绩表(外部数据),单位名称,考试名称,年级,班级,总分班排名,年级,排名等字段,我想在后台直接将一个单位名称,考试名称,按总分排出班排名,年级排名,p看了帮助,整不好,请帮指导,,怎么写代码,初学者,不见笑,谢谢 |
||||
-- 作者:有点蓝 -- 发布时间:2016/10/11 14:36:00 -- 既然都有排名字段了,直接排序不就行? 具体例子说明。别人没有办法根据一句话给你写代码
|
||||
-- 作者:刘林 -- 发布时间:2016/10/11 20:03:00 -- Dim cmd As New SQLCommand Dim dt As DataTable cmd.c cmd.CommandText = "SE LECT * From {成绩}" dt = cmd.ExecuteReader() Dim Arys As List(Of String()) = dt.GetValues("单位名称|考试名称|年级代码") For Each Ary As String() In Arys Dim drs As List(Of DataRow) = dt.Select("[年级代码] = " & ary(2), "总分 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 老师,我依照改了个排序代码,提示 无法找到列 总分。是不是因为总分是表达示列,这个怎么办,另外这个代码还有什么问题没的,请指导,谢谢
|
||||
-- 作者:有点蓝 -- 发布时间:2016/10/11 20:12:00 -- 表达式列不存在数据库的。总分怎么计算的? [此贴子已经被作者于2016/10/11 20:12:28编辑过]
|
||||
-- 作者:刘林 -- 发布时间:2016/10/11 21:59:00 -- 总分是语总+数总+英总+政总+等 |
||||
-- 作者:刘林 -- 发布时间:2016/10/11 22:00:00 -- 现在的问题是,当表加载了哪个班,如果再执行统计,原有的校序就变了,统计范围就是这个班的,这样不能后统数据统计。 |
||||
-- 作者:有点蓝 -- 发布时间:2016/10/11 22:18:00 -- 上例子吧 |
||||
-- 作者:刘林 -- 发布时间:2016/10/11 22:33:00 --
现在我试了下把 语总 算出来,假设以语总的排校序,但有个问题是相同分数他的序不相同,请看下,谢谢
|
||||
-- 作者:有点蓝 -- 发布时间:2016/10/11 22:56:00 -- 请上完整例子 |
||||
-- 作者:刘林 -- 发布时间:2016/10/12 7:55:00 --
请老师帮看一下,谢谢
|