Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ORACLE SQL pilih yang berbeda tidak menghapus duplikat

Anda salah paham apa yang distinct adalah. Ini bukan fungsi. Ini adalah pengubah di select dan itu memengaruhi semua kolom yang sedang dipilih. Jadi, ia berperilaku sebagaimana mestinya.

Jika Anda ingin agregasi menurut kode pos dan minggu, maka hanya itu dua kolom yang harus ada di 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)

Anda mungkin dapat menyertakan region_id juga, dengan asumsi bahwa setiap kode pos berada di satu wilayah.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL dan kombinasi n-kolom yang unik

  2. Deteksi siklus dengan anjak subquery rekursif

  3. REGEXP_REPLACE() Fungsi di Oracle

  4. Bagaimana saya bisa menjaga koneksi DB saya agar tidak gagal ketika jaringan tidak stabil?

  5. Bagaimana cara memilih baris berdasarkan nilai prioritas di baris lain?