Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:统计问题

1楼
abcdzabcdz 发表于:2009/3/30 17:50:00
求助统计问题: 

问题1:按”学生成绩库”中”总分”由高到低顺序,统计年级前30名在各班的分布?

问题2: 按”学生成绩库”中”总分”由高到低顺序,统计年级前X名学生在各班的分布?这里的X指年级总人数的35%.



 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题1.table

2楼
czy 发表于:2009/3/30 18:55:00
没闹明白第二个问题。

Dim dt As DataTable = DataTables("成绩表")
Dim dr As DataRow
dr = dt.Find("","总分 Desc",29)
For Each dr1 As DataRow In DataTables("成绩统计").DataRows
    dr1("A") = dt.Compute("Count(班级)", "[班级] = '" & dr1("班级") & "' And [总分] >= " & dr("总分"))
Next
3楼
czy 发表于:2009/3/30 18:56:00
楼主怎么扔下问题就没踪影啊?
4楼
abcdzabcdz 发表于:2009/3/31 8:56:00

时间限制了!由于第一个问题也解决,第二个问题就较容易了.它是指参考总人数的35%学生分布情况.谢谢!

5楼
czy 发表于:2009/3/31 10:03:00
呵呵,我还没搞明白怎么算,可否说个实际的例子,比如说明一下1、2、3、4班在B列生成的各个值。
6楼
abcdzabcdz 发表于:2009/3/31 10:27:00
呵呵,大师也有迷糊的时候:)

举例说明:假如参考人数为100人,若按35%计算,即统计总分前35名在各班的分布(即转化为问题1了)。
7楼
czy 发表于:2009/3/31 10:41:00
取整数向上还是向下?
8楼
czy 发表于:2009/3/31 10:47:00
向下取值。

Dim dt As DataTable = DataTables("成绩表")
Dim dr,dr2 As DataRow
Dim Val As Integer = dt.Compute("Count(班级)", "[班级] Is Not Null")
dr = dt.Find("","总分 Desc",30)
dr2 = dt.Find("","总分 Desc",Math.Floor(Val*0.35))
For Each dr1 As DataRow In DataTables("成绩统计").DataRows
    dr1("A") = dt.Compute("Count(班级)", "[班级] = '" & dr1("班级") & "' And [总分] > " & dr("总分"))
    dr1("B") = dt.Compute("Count(班级)", "[班级] = '" & dr1("班级") & "' And [总分] > " & dr2("总分"))
Next
9楼
czy 发表于:2009/3/31 11:29:00
楼上说的“向下取值”应是“向下取整”。
10楼
abcdzabcdz 发表于:2009/4/1 9:04:00
以下是引用czy在2009-3-31 10:41:00的发言:
取整数向上还是向下?

Czy老师考虑问题就是全面,看来是我迷糊了.

共10 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 3 queries.