本文主要是介绍mysql 通过子查询实现两列相除,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘要:催收系统中有个根据前一天催收回单率排序的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 rate
FROMcui_staff s
LEFT JOIN sudaibear.uc_users u ON u.id = s.userId
WHEREs. STATUS = 1
AND s.cuiGroup = 1
ORDER BYrate DESC;
四:查询结果如下图:
参考链接:http://www.zybang.com/question/1e678ffe5142f577186228f303a8477a.html
这篇关于mysql 通过子查询实现两列相除的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!