按年提取重复值而不按 SQL 分组

问题描述 投票:0回答:0

我尝试提取同一年所有可能的NUMB重复值,这是一个例子

麻木 TIP_BALAN FNT CLOSED_DATE 持续时间
94294100000 A03 E04 31/10/2021 15
94294100000 A09 E04 31/08/2021 20

所以我在 Oracle SQL Developer 上构建这个查询

SELECT ID_PPAL_NUMB AS NUMB,
ID_PPAL_FNT AS FNT,
BLNC_CLOSED_DATE AS CLOSED_DATE,
BLNC_DUR AS DURATION
FROM BLNC_BALANC

    INNER JOIN ID_PPAL
    ON BLNC_ID_PPAL_NUMB=ID_PPAL_NUMB

    WHERE BLNC_SIT='1'
    AND ID_PPAL_TIP_REG='1'
    AND ID_PPAL_IND_ESTAB='N'

GROUP BY (ID_PPAL_NUMB,ID_PPAL_FNT, BLNC_CLOSED_DATE, BLNC_DUR)
HAVING COUNT(EXTRACT(YEAR FROM BLNC_CLOSED_DATE)) > 1
ORDER BY BLNC_CLOSED_DATE DESC

我有 42 列,但是当我在下一个查询中添加 BLNC_BALANC 中的“BLNC_TIP”列时

SELECT ID_PPAL_NUMB AS NUMB,
BLNC_TIP AS TIP_BALAN,
ID_PPAL_FNT AS FNT,
BLNC_CLOSED_DATE AS CLOSED_DATE,
BLNC_DUR AS DURATION
FROM BLNC_BALANC

    INNER JOIN ID_PPAL
    ON BLNC_ID_PPAL_NUMB=ID_PPAL_NUMB

    WHERE BLNC_SIT='1'
    AND ID_PPAL_TIP_REG='1'
    AND ID_PPAL_IND_ESTAB='N'

GROUP BY (ID_PPAL_NUMB,ID_PPAL_FNT, BLNC_CLOSED_DATE, BLNC_DUR, BLNC_TIP)
HAVING COUNT(EXTRACT(YEAR FROM BLNC_CLOSED_DATE)) > 1
ORDER BY BLNC_CLOSED_DATE DESC

查询只给我 6 列,所以我尝试了多种方法来避免“分组依据”代码,但我只有 15k 列这样的整个数据。有帮助吗?

sql group-by count duplicates oracle-sqldeveloper
© www.soinside.com 2019 - 2024. All rights reserved.