mysql 通过子查询实现两列相除

来源:互联网 发布:网络pt老虎机辅助 编辑:程序博客网 时间:2024/05/17 23:56

摘要:催收系统中有个根据前一天催收回单率排序的sql,其中:前一天催收回单率=前一天催收回单量/前一天的全部回单量,下面是对应的SQL语句:


一:查询前一天的回单量:

SELECTcount(1) AS '前一天回单量'FROMcui_task tWHEREDATE_FORMAT(t.assignDate, '%Y-%m-%d') = date_sub(curdate(), INTERVAL 1 DAY)AND t.`status` = 490AND t.assignUserId = s.userId


二:查询前一天的全部单量:

SELECTcount(1) AS '全部单量'FROMcui_task tWHEREt.assignUserId = s.userId


三:查询前一天的回单量:

SELECTs.id,s.type,s.userId,s.sort,s.cuiGroup,u. NAME,u.mobile,(SELECTcount(1) AS '前一天回单量'FROMcui_task tWHEREDATE_FORMAT(t.assignDate, '%Y-%m-%d') = date_sub(curdate(), INTERVAL 1 DAY)AND t.`status` = 490AND t.assignUserId = s.userId) / (SELECTcount(1) AS '全部单量'FROMcui_task tWHEREt.assignUserId = s.userId) AS rateFROMcui_staff sLEFT JOIN sudaibear.uc_users u ON u.id = s.userIdWHEREs. STATUS = 1AND s.cuiGroup = 1ORDER BYrate DESC;


四:查询结果如下图:



参考链接:http://www.zybang.com/question/1e678ffe5142f577186228f303a8477a.html


0 0
原创粉丝点击