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
Oracle 去重求和方式一
SQL复杂查询解析
最新推荐文章于 2025-08-08 08:16:28 发布
本文深入解析了一段复杂的SQL查询代码,详细介绍了如何使用窗口函数ROW_NUMBER()进行分组排序,以及如何通过LEFT JOIN进行数据关联,实现从JCZF_DANGER表中按CASE_ID分组并获取最新DETECT_TIME记录及其对应的罚款总额。
1394

被折叠的 条评论
为什么被折叠?



