此sql语句包括了两个聚合函数做除法求百分比,并保留两位小数,直接输出字符串形式的百分比。以及对case when在聚合函数的应用。

SELECT ss.SS_NAME,SS_ID,
COUNT(ea.EA_ID) AS EACounts,--回单交换单个数
COUNT(eb.EB_ID) AS EBCounts,--交换单个数
COUNT(ps.PS_ID) AS PSCounts,--签收单个数
COUNT(SW_ID) AS SWCounts,--运单数个数
COUNT(CASE WHEN PS_STATUS=1 THEN 'PS_ID' END) AS PSSCounts,--签收成功单个数
CAST(CONVERT( DECIMAL(18,2),COUNT(ea.EA_ID)/CAST(ISNULL(NULLIF(COUNT(EB_ID),0),1) AS FLOAT)*100)AS VARCHAR(10))+'%' AS ReturnPer,--回单率
CAST(CONVERT(DECIMAL(18,2),COUNT(ps.PS_ID)/CAST(ISNULL(NULLIF(COUNT(SW_ID),0),1) AS FLOAT)*100)AS VARCHAR(10))+'%' AS SignPer ,--签收率
CAST(CONVERT(DECIMAL(18,2),COUNT(CASE WHEN PS_STATUS=1 THEN 'PS_ID' END)/CAST(ISNULL(NULLIF(COUNT(PS_ID),0),1) AS FLOAT)*100 ) AS VARCHAR(10))+'%' AS SignSucPer --签收成功率
FROM dbo.SBD_WAYBILL sw
LEFT JOIN dbo.PDA_SININFO ps ON sw.SW_ID=ps.PS_SW_ID
LEFT JOIN dbo.SBD_EXCHANGE_RETURN_BILL ea ON ea.EA_SW_ID=sw.SW_ID
LEFT JOIN dbo.SBD_EXCHANGE_BILL eb ON eb.EB_SW_ID=sw.SW_ID
LEFT JOIN dbo.SBD_STATION ss ON ss.SS_ID=sw.SW_DESTINATION
WHERE 1=1 GROUP BY SS_ID,SS_NAME
ORDER BY SS_NAME

sql语句求百分比的更多相关文章

  1. 统计SQL语句耗时百分比

    -- sql语句耗时百分比 declare @tmptb table(id int,name varchar(50),total_worker_time bigint,rate varchar(50) ...

  2. 一条SQL语句求前面记录的平均值

    有算法要求如下: For (i=1,i<=10,i++) { ta[i] = (t[1] + t[2] + ... + t[i]) / i; } 用一条SQL语句实现它: 分别用表变量 @ta ...

  3. 一条SQL语句求每月连续低温时间

    近期为某个项目写存储过程做统计.其中有个是这样的: 求每个月至少连续3个小时低于某个温度值的时间(小时). 假设有个全年温度表: CREATE TABLE #t(m INT, h INT ,t DEC ...

  4. 如何利用SQL语句求日期的时间差值,并汇总网上的一些信息

    MySQL本身提供了 DATEDIFF 函数,用来计算时间差. 手册:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.ht ...

  5. 用sql语句写排名

    使用SQL语句求排名 表jh03有下列数据: name score aa 99 bb 56 cc 56 dd 77 ee 78 ff 76 gg 78 ff 50 1. 名次生成方式1 , Score ...

  6. PHP——分页显示的完善(加查询,用类简化sql语句)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 求SQL语句递归的算法

    表结构是这样的 部门    上级部门    A           BB           CC           DA           AB           BC           C ...

  8. 求时间差的sql语句。 比如如下数据

    msisdn createtime closetime138 2011-5-17 15:30:00:000 2011-5-17 15:30:00:530138 2011-5-17 15:40:00:0 ...

  9. 走向面试之数据库基础:一、你必知必会的SQL语句练习-Part 1

    本文是在Cat Qi的参考原帖的基础之上经本人一题一题练习后编辑而成,非原创,仅润色而已.另外,本文所列题目的解法并非只有一种,本文只是给出比较普通的一种而已,也希望各位园友能够自由发挥. 一.三点一 ...

随机推荐

  1. git的命令行操作

    1.初始化本地的git仓库git init,代码存放在这里,git会自动对我们的代码进行管理备份. 2.设置用户信息,设置用户名:git config --global user.name " ...

  2. MVC项目加入WebApi

    一.NuGet搜索安装Microsoft.AspNet.WebApi,注意引用的版本依赖,因为是在完整的MVC项目上新增,在本地编译调试并没有报错,发布到IIS后却显示应用程序出错. 二.NuGet搜 ...

  3. css基础回顾

    1.css选择器分类: id选择器,类选择器,通用选择器, 包含(后代)选择器——加入空格,用于选择指定标签元素下的后辈元素. 子选择器(大于符号)——用于指定标签元素的第一代子元素. 伪类选择器—— ...

  4. MFC中线程相关知识

    MFC中把线程分为两种类型,UI线程和工作者线程. MFC中启动一个线程的最好方法是调用AfxBeginThread,有两个版本,一个用于启动Ui线程,另外一个用于启动工作者线程.在MFC程序中,只有 ...

  5. TFIDF<细读>

    概念 TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术.TF-IDF是一种统计方法,用以评估一字词对于一个文 ...

  6. 【腾讯Bugly干货分享】舞动的表情包——浅析GIF格式图片的存储和压缩

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/v0pffOhjFWnVbU2lXjuEmw 导语 G ...

  7. iOS开发之Alamofire源码解析

    今天博客中的Alamofire源码的版本是以3.4版本为例.上篇博客系统的对NSURLSession相关的东西进行了详细的解析,详情请看<详解NSURLSession>,为了就是给本篇博客 ...

  8. 【ISC安全训练营】挑战价格极限第三天!!![北京]

    每到周三都觉得离周末不远啦,人生都充满的了希望,同样的,今天的优惠福利依旧超级给力,错过了可就没有了哦! 周三福利 名额 周四福利 名额 周五福利 名额 3折购买任意课程资格 3名 4折购买任意课程资 ...

  9. Android Studio 调试各种国产手机经验总结

    为何加上“国产”二字呢,因为目前测试时就国产手机存在的安装问题多,而且都很奇葩,不得不说对于开发者时很不友好的. 下面就是个人总结的针对不同的机型调试时出现的问题做的总结: 1.VIVO 手机 解决方 ...

  10. python通过手机抓取微信公众号

    使用 Fiddler 抓包分析公众号 打开微信随便选择一个公众号,查看公众号的所有历史文章列表 在 Fiddler 上已经能看到有请求进来了,说明公众号的文章走的都是HTTPS协议,这些请求就是微信客 ...