![]() |
#2
ke爱的小tu子2021-02-12 15:53
区域的成功率=区域成功客户数量/区域客户总数。
区域成功客户数量=区域续年费成功人数+区域续融合人数 新建一张表,表名“区域”,包含字段“区域”,“客户数量”,“维系成功”,“成功率”。并且“区域”表里面的区域已经全部统计好,“区域”字段是不重复字段。 第一张表的名字叫什么?你没说。我暂时把你给的第一张表名字叫做“表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编辑过] |
数据库
区域 客户 续年费 续融合
城关 客户1 无 无
城关 客户2 有 无
城关 客户3 无 有
城中村 客户4 无 无
城中村 客户5 有 无
城中村 客户5 无 无
农村 客户6 无 无
农村 客户7 无 无
农村 客户8 无 无
我想做一个关于各区域客户维系排名的界面(关系是能够按维系率高低排名。不管是续年缴还是续融合都算维系成功。)
得到如下:
区域 客户数 维系成功 成功率
城关 3 2 66%
城中村 3 1 33%
农村 3 0 0%
这段SQL语句怎么写,或是ASP代码怎么写?