标题:关于完成率排名的问题。
只看楼主
hejunbo
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-1-5
 问题点数:0 回复次数:1 
关于完成率排名的问题。
数据库
区域    客户     续年费      续融合
城关    客户1      无          无
城关    客户2      有          无
城关    客户3      无          有
城中村  客户4      无          无
城中村  客户5      有          无
城中村  客户5      无          无
农村    客户6      无          无
农村    客户7      无          无
农村    客户8      无          无
我想做一个关于各区域客户维系排名的界面(关系是能够按维系率高低排名。不管是续年缴还是续融合都算维系成功。)
得到如下:
区域  客户数  维系成功  成功率
城关    3        2        66%
城中村  3        1        33%
农村    3        0         0%
这段SQL语句怎么写,或是ASP代码怎么写?
搜索更多相关主题的帖子: 排名 区域 客户 成功 语句 
2019-01-05 17:17
ke爱的小tu子
Rank: 2
等 级:论坛游民
帖 子:51
专家分:20
注 册:2021-2-11
得分:0 
区域的成功率=区域成功客户数量/区域客户总数。
区域成功客户数量=区域续年费成功人数+区域续融合人数
新建一张表,表名“区域”,包含字段“区域”,“客户数量”,“维系成功”,“成功率”。并且“区域”表里面的区域已经全部统计好,“区域”字段是不重复字段。
第一张表的名字叫什么?你没说。我暂时把你给的第一张表名字叫做“表1”
接下来是asp代码。
<%
sub conn_open(conn,path)
    set conn=server.createobject("adodb.connection")
    conn.connectionstring="Provider = Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(path)
    conn.open
end sub
sub conn_close(conn)
    conn.close
    set conn=nothing
end sub
sub rs_open1(rs,sql)
    set rs = server.createobject("adodb.recordset")
    rs.open sql,conn,1,1
end sub
sub rs_open3(rs,sql)
    set rs = server.createobject("adodb.recordset")
    rs.open sql,conn,1,3
end sub
sub rs_close(rs)
    rs.close
    set rs=nothing
end sub
%>
'-------------------------------------------------华丽的分割线------------------------------------------------------
<%
call conn(conn,"数据库.mdb")
sql="select * from 区域"
call rs_open3(rs,sql)
do while rs.eof
    sql2="select * form 表1 where 区域="&""""&rs("区域")&""""
    call rs_open1(rs2,sql2)
    cgkhsl=0'成功客户数量
    do while rs2.eof
        if rs2("续年费")="有" or rs2("续融合")="有" then
            cgkhsl=cgkhsl+1
        end if
        rs2.movenext
    loop
        khsl=rs2.recordcount'某个区域的客户数量
    call rs_close(rs2)
    rs("客户数量")=khsl
    rs("维系成功")=cgkhsl
    if khsl<>0 then
        rs("成功率")=cgkhsl/khsl*100&"%"
    else
        rs("成功率")=0
    end if
    khsl=0'把客户数量清空
    rs.movenext
loop
call rs_close
cll conn_close(conn)
%>

至于成功率排行的问题,这个就太简单了,查询,orderby成功率,然后分页显示就ok了。



[此贴子已经被作者于2021-2-12 15:56编辑过]

2021-02-12 15:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492526-1-1.html




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

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