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 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
Perbezaan dalam keputusan
Senario Penggunaan
Contoh
-- 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;
Keputusan
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!