以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 从统计表中,获取需要的统计行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=102042) |
-- 作者:qwz405 -- 发布时间:2017/6/12 13:46:00 -- 从统计表中,获取需要的统计行 老师,您好。 我要获取月打卡数量最多的几个人,请老师给个方法。 我现在的思路是先分组统计,再取TOP *值,但是统计表是不能用select获取的,所以行不通。 先用分组统计,获取下面的统计表: 再取前2名:----(此处行不通) S elect T O P 2 * FR O M {统计表1} ORDER BY 打卡次数 D e sc ![]() ![]() [此贴子已经被作者于2017/6/12 13:51:01编辑过]
|
-- 作者:有点色 -- 发布时间:2017/6/12 14:12:00 -- 参考代码
select top 2 第一列, count(*) as 打卡次数 from {表A} group by 第一列 order by count(*) desc |
-- 作者:qwz405 -- 发布时间:2017/6/12 16:36:00 -- 老师,如果要将获得的统计表用图表显示出来,代码要怎么写? msgbox(2) --> msgbox(3)错误:未将对象引用设置到对象的实例。 \'Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Chart As New ChartBuilder Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim t As Table = Tables("统计表1") \'定义一个变量t引用数据表 \'Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表 \'Chart.SeriesList.Clear() \'清除图表原来的图系 Chart.PrintWidth = 140 Chart.PrintHeight = 100 Chart.VisualEffect = True Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = t.Rows.Count \'图系的数据点数等于表的行数 Msgbox(1) For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置 Msgbox(2) Series.X(i) = t.Rows(i)("姓名") \'指定水平坐标 Series.Y(i) = t.Rows(i)("打卡次数") \'指定垂直坐标 Msgbox(3) Next Msgbox(4) wb.AddPageTitle("","ph1","FoxUI") Msgbox(5) wb.InsertHTML("<img width=\'100%\' src=\'" & wb.ImageToBase64(Chart.Image) & "\'/>") |
-- 作者:有点色 -- 发布时间:2017/6/12 16:44:00 -- For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置
http://www.foxtable.com/webhelp/scr/0968.htm
|