MySQL查询今年1-12月份的数据,当月没有数据时值为0

扫描项目数,扫描疑点数,确认疑点数

扫描疑点金额和确认疑点金额

SELECT
	a.YEAR,
	a.MONTH,
	COALESCE ( b.Total_Cre_Time, 0 ) AS "resultNum",
	COALESCE ( b.Total_Doubt_Points, 0 ) AS "doubtNum",
	COALESCE ( b.Total_Confirm_Doubt_Points, 0 ) AS "confirmDoubtNum",
CASE
		
		WHEN COALESCE ( b.doubt_points_amount, 0.00 ) = 0.00 THEN
		0.00 ELSE ROUND( COALESCE ( b.doubt_points_amount, 0.00 ) / 10000, 2 ) 
	END AS "doubtAmount",
CASE
		
		WHEN COALESCE ( b.confirm_doubt_points_amount, 0.00 ) = 0.00 THEN
		0.00 ELSE ROUND( COALESCE ( b.confirm_doubt_points_amount, 0.00 ) / 10000, 2 ) 
	END AS "confirmDoubtAmount" 
FROM
	(
	SELECT YEAR
		(
		CURRENT_DATE ()) AS YEAR,
	MONTH 
	FROM
		(
		SELECT
			1 AS MONTH UNION ALL
		SELECT
			2 UNION ALL
		SELECT
			3 UNION ALL
		SELECT
			4 UNION ALL
		SELECT
			5 UNION ALL
		SELECT
			6 UNION ALL
		SELECT
			7 UNION ALL
		SELECT
			8 UNION ALL
		SELECT
			9 UNION ALL
		SELECT
			10 UNION ALL
		SELECT
			11 UNION ALL
		SELECT
			12 
		) AS Months 
	) a
	LEFT JOIN (
	SELECT YEAR
		( r.cre_time ) AS YEAR,
		MONTH ( r.cre_time ) AS MONTH,
		COUNT( DISTINCT g.giveitmeid ) AS Total_Cre_Time,
		SUM( r.doubt_points_num ) AS Total_Doubt_Points,
		SUM( r.confirm_doubt_points_num ) AS Total_Confirm_Doubt_Points,
		SUM( r.doubt_points_amount ) AS doubt_points_amount,
		SUM( r.confirm_doubt_points_amount ) AS confirm_doubt_points_amount 
	FROM
		m_result_info r
		LEFT JOIN m_giveitem_info g ON r.itemcode = g.itemcode 
	WHERE
		YEAR ( r.cre_time ) = YEAR (
		CURRENT_DATE ())
	GROUP BY
		YEAR ( r.cre_time ),
		MONTH ( r.cre_time ) 
	) b ON a.MONTH = b.MONTH 
	AND a.YEAR = b.YEAR 
ORDER BY
	a.YEAR,
	a.MONTH;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值