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

数据库技术 专栏收录该内容
41 篇文章 0 订阅

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


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

SELECT
			count(1) AS '前一天回单量'
		FROM
			cui_task t
		WHERE
			DATE_FORMAT(t.assignDate, '%Y-%m-%d') = date_sub(curdate(), INTERVAL 1 DAY)
		AND t.`status` = 490
		AND t.assignUserId = s.userId


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

SELECT
			count(1) AS '全部单量'
		FROM
			cui_task t
		WHERE
			t.assignUserId = s.userId


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

SELECT
	s.id,
	s.type,
	s.userId,
	s.sort,
	s.cuiGroup,
	u. NAME,
	u.mobile,
	(
		SELECT
			count(1) AS '前一天回单量'
		FROM
			cui_task t
		WHERE
			DATE_FORMAT(t.assignDate, '%Y-%m-%d') = date_sub(curdate(), INTERVAL 1 DAY)
		AND t.`status` = 490
		AND t.assignUserId = s.userId
	) / (
		SELECT
			count(1) AS '全部单量'
		FROM
			cui_task t
		WHERE
			t.assignUserId = s.userId
	) AS rate
FROM
	cui_staff s
LEFT JOIN sudaibear.uc_users u ON u.id = s.userId
WHERE
	s. STATUS = 1
AND s.cuiGroup = 1
ORDER BY
	rate DESC;


四:查询结果如下图:



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


  • 1
    点赞
  • 1
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值