Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menambah nombor ordinal dalam pertanyaan MySQL

Bagaimana untuk menambah nombor ordinal dalam pertanyaan MySQL

PHPz
PHPzasal
2023-04-19 14:12:289139semak imbas

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka dan salah satu pangkalan data yang paling biasa digunakan dalam aplikasi web. Untuk sistem pangkalan data yang besar, terutamanya apabila berurusan dengan jumlah data yang besar, pertanyaan data ini boleh menjadi sangat kompleks dan memakan masa. Oleh itu, untuk meningkatkan kecekapan dan ketepatan pertanyaan, ramai pengguna pangkalan data MySQL ingin mengetahui cara menambah nombor jujukan pada operasi pertanyaan mereka untuk mengoptimumkan hasil pertanyaan dengan lebih baik.

Artikel ini akan memperkenalkan cara menambah nombor siri dalam pertanyaan MySQL dan cara menggunakannya untuk carian dan operasi data yang lebih cekap.

Mengapa anda perlu menambah nombor siri?

Dalam analisis atau pengurusan data sebenar, biasanya perlu mengisih data mengikut lajur tertentu dan menambah nombor siri pada hasilnya. Operasi ini boleh membantu pengguna melihat data dengan lebih mudah, terutamanya apabila memproses set data yang besar Ia juga boleh memudahkan operasi seperti paging dan statistik, meningkatkan kecekapan analisis dan pengurusan data.

Cara menambah nombor siri dalam pertanyaan MySQL

Gunakan fungsi nombor baris dalam SQL

MySQL menyediakan fungsi nombor baris ROW_NUMBER(), yang boleh menyediakan fungsi nombor baris ROW_NUMBER() dalam hasil pertanyaan Tambahkan nombor baris pada setiap baris. Berikut ialah contoh asas:

SELECT ROW_NUMBER() OVER (ORDER BY id) AS num, id, username, email FROM users;

Hasil pertanyaan akan diisih mengikut id dan nombor lajur akan ditambahkan pada keputusan, yang akan memaparkan nombor siri setiap baris.

Dalam pernyataan pertanyaan di atas, fungsi ROW_NUMBER() digunakan untuk mengira nombor baris, ORDER BY dalam klausa OVER digunakan untuk menentukan lajur pengisihan dan num ialah alias yang ditentukan untuk yang baru ditambah lajur nombor baris.

Menggunakan MySQL untuk auto-naik pembolehubah

MySQL juga menyediakan mekanisme untuk auto-naik pembolehubah, yang boleh menambah nombor siri pada setiap baris. Berikut ialah contoh:

SET @num := 0;

SELECT (@num := @num + 1) AS num, id, username, email FROM users ORDER BY id;

Dalam pernyataan di atas, pembolehubah @num dimulakan kepada 0 dan meningkat sebanyak 1 pada setiap pertanyaan. Nombor siri setiap baris boleh diperoleh dengan menanyakan nilai semasa pembolehubah @num.

Cara menggunakan nombor siri dalam pertanyaan

Apabila nombor baris ditambahkan pada hasil pertanyaan, terdapat banyak cara untuk menggunakannya untuk mengoptimumkan lagi carian dan operasi data.

Sebagai contoh, kami selalunya perlu memaparkan hasil data dalam halaman untuk memudahkan pengguna melihat. Pada ketika ini, kita boleh mengira data mana yang perlu ditanya berdasarkan saiz halaman dan bilangan halaman yang sedang kita buka. Berdasarkan keputusan pertanyaan di atas untuk menambah nombor baris, anda boleh menggunakan pernyataan berikut untuk mendapatkan data di halaman 2:

SET @num := 0;

SELECT * FROM (
    SELECT (@num := @num + 1) AS num, id, username, email FROM users ORDER BY id 
) AS users_with_row_number 
WHERE num BETWEEN 11 AND 20;

Dalam pernyataan ini, hitung nombor halaman pertanyaan yang diperlukan oleh pengguna. Sebagai contoh, halaman kedua sepadan dengan 11 -20 baris, kemudian anda boleh mendapatkan data pada halaman kedua dengan menapis julat nilai num.

Selain itu, nombor siri juga boleh digunakan dalam operasi seperti statistik dan pengelompokan, seperti mengabaikan beberapa nilai nol dan nilai pendua semasa mengira jumlah contoh adalah seperti berikut:

SET @num := 0;

SELECT COUNT(DISTINCT email) AS count FROM (
    SELECT (@num := @num + 1) AS num, email FROM users WHERE email IS NOT NULL ORDER BY email 
) AS users_with_row_number 
WHERE num <= 100;

Dalam penyata ini, kita Perlu mengira bilangan 100 alamat e-mel unik pertama. Dengan menambah nombor baris, mencari alamat e-mel yang tidak kosong, mengabaikan pendua dan kemudian memilih 100 keputusan pertama untuk pengiraan.

Ringkasan

Menambah nombor siri dalam pertanyaan MySQL boleh menjadikan pengambilan dan pengurusan data lebih cekap dan mudah. Artikel ini memperkenalkan dua kaedah untuk menambah nombor siri pada hasil pertanyaan MySQL, dan cara menggunakan nombor siri untuk operasi dan pengurusan data yang lebih berkesan. Saya berharap pembaca dapat menguasai kemahiran menambah nombor baris dalam pertanyaan MySQL melalui pengenalan dan kod contoh artikel ini, dan meningkatkan analisis data dan keupayaan pengurusan pangkalan data mereka.

Atas ialah kandungan terperinci Bagaimana untuk menambah nombor ordinal dalam pertanyaan MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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