Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Keputusan N Teratas bagi setiap Kumpulan dalam Oracle Tanpa Subkueri?

Bagaimana untuk Mendapatkan Keputusan N Teratas bagi setiap Kumpulan dalam Oracle Tanpa Subkueri?

DDD
Lepaskan: 2025-01-19 15:01:38
asal
277 orang telah melayarinya

How to Get the Top N Results per Group in Oracle Without Subqueries?

Dapatkan hasil teratas untuk setiap kumpulan dalam pangkalan data Oracle

Soalan:

Dapatkan hasil N teratas untuk setiap kumpulan dalam pangkalan data Oracle tanpa menggunakan subkueri.

Contoh:

Pertimbangkan jadual yang diberikan yang mengandungi maklumat pekerja:

emp_id name occupation
1 John Smith Accountant
2 Jane Doe Engineer
3 Jack Black Funnyman

Matlamatnya adalah untuk mendapatkan semula tiga pekerja (3 teratas) daripada setiap pekerjaan tanpa menggunakan subkueri.

Penyelesaian:

select *
from (select emp_id, name, occupation,
      rank() over (partition by occupation order by emp_id) as rank
      from employee)
where rank <= 3;
Salin selepas log masuk

Arahan:

Fungsi

rank() digunakan untuk menetapkan kedudukan kepada setiap pekerja dalam pekerjaan masing-masing. Klausa partition by occupation memastikan bahawa setiap pekerjaan disenaraikan secara berasingan.

rank <= 3 Syarat ini menapis pekerja yang kedudukannya kurang daripada atau sama dengan 3 dalam setiap pekerjaan.

Maklumat tambahan:

Untuk maklumat lanjut tentang fungsi rank(), sila lihat sumber berikut: https://www.php.cn/link/56138186020206c2b1d99be41c8dc9b8

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Keputusan N Teratas bagi setiap Kumpulan dalam Oracle Tanpa Subkueri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan