Oracle
 sql >> база данни >  >> RDS >> Oracle

ORACLE SQL select distinct без премахване на дубликати

Не разбирате какво е distinct е. Това не е функция. Това е модификатор на select и засяга всички избрани колони. Така че се държи точно както трябва.

Ако искате обобщения по пощенски код и седмица, това са единствените две колони, които трябва да бъдат в 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)

Вероятно бихте могли да включите region_id също така, ако приемем, че всеки пощенски код е в един регион.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL примерна база данни

  2. Нееднозначна заявка за колона

  3. Поддържане на база данни на приложения агностична (ADO.NET срещу капсулираща логика на DB)

  4. Oracle обръща редове към колони

  5. Разлики в Oracle между NVL и Coalesce