Rumah > pangkalan data > SQL > teks badan

Perbezaan antara rownumber dan pangkat dalam sql

下次还敢
Lepaskan: 2024-05-09 09:18:20
asal
543 orang telah melayarinya

ROW_NUMBER dan RANK ialah kedua-dua fungsi yang digunakan untuk mengisih dan menomborkan set hasil SQL. ROW_NUMBER memperuntukkan integer berturut-turut kepada baris dalam tertib sisipan, manakala RANK memperuntukkan kedudukan yang sama kepada baris dengan nilai yang sama dan menomborkan semula baris berikutnya untuk mengelakkan pertindihan. ROW_NUMBER sentiasa mengembalikan integer berturut-turut, manakala RANK boleh mengembalikan kedudukan yang sama atau berbeza, bergantung pada nilai baris. ROW_NUMBER digunakan untuk menomborkan baris dalam susunan sisipan atau menomborkan subset bersebelahan berdasarkan kriteria tertentu, manakala RANK digunakan untuk menyusun baris atau menentukan kedudukan relatif baris dengan nilai yang sama.

Perbezaan antara rownumber dan pangkat dalam sql

Perbezaan antara ROW_NUMBER dan RANK dalam SQL

ROW_NUMBER dan RANK ialah kedua-dua fungsi yang digunakan dalam SQL untuk mengisih dan nombor set hasil. Walaupun kedua-duanya mempunyai tujuan yang sama, terdapat beberapa perbezaan utama dalam pelaksanaan dan keputusannya.

Perbezaan Pelaksanaan

  • ROW_NUMBER: Menetapkan integer unik pada setiap baris, dinomborkan mengikut susunan baris disisipkan.
  • KEDUDUKAN: Tetapkan baris dengan nilai yang sama pada kedudukan yang sama, tetapi hitung semula baris berikutnya untuk memastikan tiada kedudukan pendua.

Perbezaan dalam keputusan

  • ROW_NUMBER: Sentiasa mengembalikan integer berturut-turut tanpa mengira nilai baris. Semua baris di bawah pangkat yang sama akan diberikan ROW_NUMBER yang sama.
  • RANK: Boleh mengembalikan kedudukan yang sama atau berbeza, bergantung pada nilai baris. Semua baris di bawah pangkat yang sama akan diberikan PANGKAT yang sama.

Senario Penggunaan

  • ROW_NUMBER: Ia berguna apabila baris perlu dinomborkan dalam susunan sisipan, atau apabila subset berturut-turut perlu dinomborkan berdasarkan keadaan tertentu.
  • RANK: Ia berguna apabila anda perlu menyusun baris, atau apabila anda perlu menentukan kedudukan relatif baris dengan nilai yang sama.

Contoh

<code class="sql">-- ROW_NUMBER
SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNum, *
FROM table_name;

-- RANK
SELECT RANK() OVER (ORDER BY id) AS Rank, *
FROM table_name;</code>
Salin selepas log masuk

Keputusan

2345
id RowNum Pangkat 1
1
2 1
3 3
4 2

Atas ialah kandungan terperinci Perbezaan antara rownumber dan pangkat dalam sql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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