首页 新闻 会员 周边 捐助

sql求签收率

0
悬赏园豆:20 [已关闭问题] 关闭于 2015-11-05 14:33

--工单数量
select SiteCity,COUNT(*) as CityOrderCount from WorkOrder where UserID is not null group by SiteCity
--已签收工单数量
select SiteCity,COUNT(*)as SigneOrderCount from WorkOrder where UserID is not null and  State < 3  group by SiteCity

已知的工单数量和已签收工单数量已经用SQL语句写出,怎么用SQL语句来求签收率(=已签收工单数量/工单数量)?

怀挺FengL的主页 怀挺FengL | 初学一级 | 园豆:172
提问于:2015-11-02 10:21
< >
分享
所有回答(2)
0

Select SiteCity, sum(CityOrderCount) as CityOrderCount, sum(SigneOrderCount) as SigneOrderCount, sum(SigneOrderCount)/sum(CityOrderCount)

 from

(select SiteCity,COUNT(*) as CityOrderCount, 0 as SigneOrderCount from WorkOrder where UserID is not null group by SiteCity

UNION ALL 

select SiteCity,0, COUNT(*)as SigneOrderCount from WorkOrder where UserID is not null and  State < 3  group by SiteCity)M

差不多是这样,细微处你自己调整下。

爱编程的大叔 | 园豆:30844 (高人七级) | 2015-11-02 10:26

0 as SigneOrderCount from WorkOrder,,,,这样的话,SigneOrderCount这列的值变为0了还怎么求百分比

 

支持(0) 反对(0) 怀挺FengL | 园豆:172 (初学一级) | 2015-11-02 10:41

@怀挺FengL: 你先看懂再说吧,要不然上机测试下也行。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30844 (高人七级) | 2015-11-02 11:17

@爱编程的大叔: 已经测试过 

支持(0) 反对(0) 怀挺FengL | 园豆:172 (初学一级) | 2015-11-03 09:23
0

同case when。。。 else。。。end 来做,这里可以用除法的

如此低调的男人 | 园豆:842 (小虾三级) | 2015-11-02 10:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册