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.