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

Partisi Oracle Dengan Kata Kunci

PARTITION BY klausa menetapkan rentang catatan yang akan digunakan untuk setiap "GROUP" dalam OVER klausa.

Dalam contoh SQL Anda, DEPT_COUNT akan mengembalikan jumlah karyawan dalam departemen itu untuk setiap catatan karyawan. (Seolah-olah Anda mende-nomalisasi emp meja; Anda masih mengembalikan setiap catatan di emp tabel.)

emp_no  dept_no  DEPT_COUNT
1       10       3
2       10       3
3       10       3 <- three because there are three "dept_no = 10" records
4       20       2
5       20       2 <- two because there are two "dept_no = 20" records

Jika ada kolom lain (mis., state ) maka Anda dapat menghitung berapa banyak departemen di Negara Bagian tersebut.

Ini seperti mendapatkan hasil dari GROUP BY (SUM , AVG , dll.) tanpa menggabungkan kumpulan hasil (yaitu menghapus catatan yang cocok).

Ini berguna saat Anda menggunakan LAST OVER atau MIN OVER berfungsi untuk mendapatkan, misalnya, gaji terendah dan tertinggi di departemen dan kemudian menggunakannya dalam perhitungan terhadap catatan ini gaji tanpa sub pilih, yang jauh lebih cepat.

Baca artikel AskTom tertaut untuk detail lebih lanjut.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lewati dan kembalikan objek array khusus di ibatis dan Oracle di java

  2. Menghitung jumlah baris yang bergabung di gabungan kiri

  3. Cara Mengekspor Data ke File CSV di Oracle Menggunakan Prosedur PL SQL

  4. Bagaimana cara menggunakan Partisi By atau Max?

  5. Bagaimana cara Menyimpan BLOB sebagai File di PL/SQL?