当前位置:数据库 > SQLServer >>

mssql比较难的sql语句

小区编号 小区名称 小区关注程度 TCH分配成功率_Mean SD分配成功率_Mean 话音信道利用率_Mean 26411 "闽侯洋里新见1" "正常小区" 1.000000 1.000000 0.058793 26412 "闽侯洋里新见2" "一般异常小区" 1.000000 1.000000 0.103019 30471 "闽侯技术学院教学楼1" "正常小区" 0.999385 0.999934 0.415712 30472 "闽侯技术学院教学楼2" "正常小区" 1.000000 1.000000 0.048262 30473 "闽侯技术学院教学楼3" "一般关注异常小区" 1.000000 1.000000 0.080986 38191 "世纪金辉1" "正常小区" 1.000000 1.000000 0.213867 2231 "九福商贸1" "非常异常小区" 1.000000 1.000000 0.048262 2246 "安泰中心(闽星楼)6""比较异常小区" 0.999385 0.999934 0.415712 如上面数据显示一样! 正常小区平均值呢?是要根据“小区关注程度” 等于正常小区 算出 TCH分配成功率_Mean SD分配成功率_Mean 话音信道利用率_Mean 三列的平均值; 一般异常小区均值是要根据“小区关注程度” 等于一般异常小区 算出 TCH分配成功率_Mean SD分配成功率_Mean 话音信道利用率_Mean 三列的平均值; 依次类推! 最终要的就是如果“小区关注程度”=“一般异常小区”就根据正常小区的TCH分配成功率_Mean 均值-异常小区TCH分配成功率_Mean 均值>该类型小区的TCH分配成功率_Mean 原来值-正常小区的TCH分配成功率_Mean 均值 就显示TCH分配成功率_Mean 大于正常 否则为不正常; 如果 “小区关注程度”=“比较异常小区“就根据正常小区的TCH分配成功率_Mean 均值-比较异常小区TCH分配成功率_Mean 均值>该类型小区的TCH分配成功率_Mean的原来值-正常小区TCH分配成功率_Mean的均值 就显示TCH分配成功率_Mean 大于正常 否则为不正常; 依此类推 。。。
答案:declare
@正常值  double,
@一般异常值 double
...
正常小区平均值
select @正常值=avg(TCH分配成功率_Mean),avg(SD分配成功率_Mean),avg(话音信道利用率_Mean) from table where 小区关注程度='正常小区'
一般异常小区均值
select @一般异常值=avg(TCH分配成功率_Mean),avg(SD分配成功率_Mean),avg(话音信道利用率_Mean) from table where 小区关注程度='一般异常小区'
以此类推...

update table a set 小区关注程度='TCH分配成功率_Mean 大于正常' where (@正常值-@一般异常值)>(a.TCH分配成功率_Mean -@正常值)and a.小区关注程度= "一般异常小区" 
一次类推...

上一个:mssql count问题
下一个:如何用SQL管理本地mssql数据库

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,