Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORACLE SQL select distinct ne supprimant pas les doublons

Vous ne comprenez pas ce que distinct est. Ce n'est pas une fonction. C'est un modificateur sur select et cela affecte tous colonnes sélectionnées. Donc, il se comporte exactement comme il se doit.

Si vous souhaitez des agrégations par code postal et par semaine, ce sont les deux seules colonnes qui doivent figurer dans le group by :

SELECT vo.ZIP_CODE, TO_CHAR(ca.CALENDAR_WEEK),
       -- vo.REGION_ID
        COUNT(vo.ORDER_ID),
        SUM(vo.AMOUNT)
FROM VENDOR_ORDERS vo JOIN
     CALENDAR ca
     ON TRUNC(vo.ORDER_CREATION_DATETIME) = sd.CALENDAR_DATE
WHERE vo.REGION_ID = 1
GROUP BY vo.ZIP_CODE, TO_CHAR(ca.CALENDAR_WEEK)

Vous pourriez probablement inclure region_id également, en supposant que chaque code postal se trouve dans une région.