1.查询当前月相较于上月增长或者减少的百分比查询

查询语句结构如下:

SELECT
	count(1) total,
	COUNT( CASE WHEN MONTH ( create_time ) = MONTH ( CURRENT_DATE ) AND YEAR ( create_time ) = YEAR ( CURRENT_DATE ) THEN 1 END ) AS current_month_count,
	COUNT(
	CASE
			
			WHEN MONTH ( create_time ) = MONTH ( CURRENT_DATE - INTERVAL 1 MONTH ) 
			AND YEAR ( create_time ) = YEAR ( CURRENT_DATE - INTERVAL 1 MONTH ) THEN
				1 
			END 
			) AS last_month_count,
			ROUND(
				(
					COUNT( CASE WHEN MONTH ( create_time ) = MONTH ( CURRENT_DATE ) AND YEAR ( create_time ) = YEAR ( CURRENT_DATE ) THEN 1 END ) - COUNT(
					CASE
							
							WHEN MONTH ( create_time ) = MONTH ( CURRENT_DATE - INTERVAL 1 MONTH ) 
							AND YEAR ( create_time ) = YEAR ( CURRENT_DATE - INTERVAL 1 MONTH ) THEN
								1 
							END 
							) 
							) / NULLIF(
							COUNT(
							CASE
									
									WHEN MONTH ( create_time ) = MONTH ( CURRENT_DATE - INTERVAL 1 MONTH ) 
									AND YEAR ( create_time ) = YEAR ( CURRENT_DATE - INTERVAL 1 MONTH ) THEN
										1 
									END 
									),
									0 
								) * 100,
								2 
							) AS percentage_change 
					FROM
	robot;

2.关于某个字段的某一状态占全表百分比

SELECT 
    (COUNT(*) / (SELECT COUNT(*) FROM robot_task)) * 100 AS bigRate
FROM robot_task
WHERE status = 2;

好了,这期sql小技巧就结束了,感谢你的浏览。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐