Oracle 去重求和方式一

本文深入解析了一段复杂的SQL查询代码,详细介绍了如何使用窗口函数ROW_NUMBER()进行分组排序,以及如何通过LEFT JOIN进行数据关联,实现从JCZF_DANGER表中按CASE_ID分组并获取最新DETECT_TIME记录及其对应的罚款总额。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SELECT
	* 
FROM
	( SELECT ROW_NUMBER ( ) OVER ( PARTITION BY CASE_ID ORDER BY DETECT_TIME ) rn, JCZF_DANGER.* FROM JCZF_DANGER ) j
	LEFT JOIN (
	SELECT
		case_id,
		sum( NVL( PENALTY_ORG_FINE, 0 ) ) AS orgTotalMoney,
		SUM( NVL( PENALTY_PERSON_FINE, 0 ) ) AS PersonTotalMoney 
	FROM
		JCZF_DANGER 
	GROUP BY
		case_id 
	) m ON j.case_id = m.case_id 
WHERE
	rn = 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值