MySQL MariaDB

MySQL Count Matching Records Dengan COUNT

MySQL Count Matching Records Dengan COUNT

Redundansi data berlaku kerana banyak sebab. Beberapa tugas rumit yang harus anda hadapi ketika bekerja dengan sistem pangkalan data adalah berusaha menemukan nilai pendua. Untuk tujuan ini, Kami akan menggunakan kaedah agregat COUNT (). Kaedah COUNT () mengembalikan jumlah baris yang berada dalam jadual tertentu. Fungsi COUNT () membolehkan anda menjumlahkan semua baris atau hanya baris yang sepadan dengan keadaan yang ditentukan. Dalam panduan ini, Anda akan mengetahui cara mengenal pasti nilai pendua untuk satu atau mungkin lebih lajur MySQL menggunakan COUNT (). Kaedah COUNT () mempunyai tiga jenis berikut:

Pastikan bahawa anda telah memasang MySQL pada sistem anda. Buka shell klien baris arahan MySQL dan masukkan kata laluan anda untuk meneruskan. Kami akan melihat beberapa contoh untuk menghitung nilai yang sesuai dengan kaedah COUNT ().

Kami mempunyai jadual 'sosial' dalam skema 'data' kami. Mari periksa rekodnya melalui pertanyaan berikut.

>> PILIH * DARI data.sosial;

COUNT MySQL (*)

Kaedah COUNT (*) digunakan untuk menghitung jumlah baris yang berada di dalam jadual atau mengira bilangan baris mengikut keadaan yang diberikan. Untuk memeriksa jumlah baris dalam jadual, 'sosial' cuba pertanyaan di bawah. Kami mempunyai 15 baris dalam jadual berdasarkan hasilnya.

>> PILIH COUNT (*) DARI data.sosial;

Lihat kaedah COUNT (*) sambil menentukan beberapa syarat. Kita mesti mengambil bilangan baris di mana nama pengguna sama dengan 'Mustafa'. Anda dapat melihat bahawa kami hanya mempunyai 4 rekod untuk nama tertentu ini.

>> PILIH COUNT (*) DARI data.sosial DI MANA Pengguna = 'Mustafa';

Untuk mendapatkan jumlah baris di mana laman web pengguna adalah 'Instagram', cubalah pertanyaan yang dinyatakan di bawah. Jadual 'sosial' hanya mempunyai 4 rekod untuk laman web 'Instagram'.

>> PILIH COUNT (*) DARI data.sosial DI MANA Laman Web = 'Instagram';

Untuk mendapatkan semula jumlah baris di mana 'Umur' lebih besar daripada 18 adalah seperti berikut:

>> PILIH COUNT (*) DARI data.sosial DI MANA Umur> 18;

Mari ambil data lajur 'Pengguna' dan 'Laman web' dari jadual, di mana nama Pengguna bermula dengan abjad 'M'. Cuba arahan di bawah pada shell.

>> PILIH Pengguna, Laman web DARI data.sosial DI MANA Pengguna seperti 'M%';

COUNT MySQL (ungkapan)

Di MySQL, kaedah COUNT (ekspresi) hanya digunakan apabila anda ingin menghitung nilai bukan Null pada kolom 'ekspresi'. 'Ungkapan' adalah nama lajur mana pun. Mari kita ambil contoh ringkas daripadanya. Kami hanya menghitung nilai tidak kosong dari lajur 'Laman web', yang berkaitan dengan lajur 'Umur' yang mempunyai nilai yang sama dengan '25'. Lihat! Kami hanya mempunyai 4 catatan tidak kosong untuk pengguna yang berumur '25', yang menggunakan laman web.

>> PILIH COUNT (Laman Web) DARI data.sosial DI MANA Umur = 25;

COUNT MySQL (ungkapan DISTNCT)

Dalam MySQL, kaedah COUNT (ekspresi DISTINCT) digunakan untuk menjumlahkan nilai bukan Null dan nilai yang berbeza dari lajur 'ekspresi'. Untuk mengira bilangan nilai bukan nol yang berbeza di lajur 'Umur', kami telah menggunakan pertanyaan di bawah. Anda akan mendapat 6 catatan lajur 'Umur' yang tidak kosong dan berbeza dari jadual 'sosial'. Ini bermakna kita mempunyai 6 orang yang mempunyai usia yang berbeza.

>> PILIH COUNT (DISTINCT Age) DARI data.sosial;

COUNT MySQL (JIKA (ungkapan))

Untuk penekanan yang besar, anda harus menggabungkan COUNT () dengan fungsi kawalan aliran. Sebagai permulaan, untuk sebahagian ungkapan yang digunakan dalam kaedah COUNT (), anda mungkin menggunakan fungsi IF (). Mungkin sangat berguna untuk melakukan ini untuk memberikan maklumat yang cepat di dalam pangkalan data. Kami akan menghitung jumlah baris dengan keadaan umur yang berbeza dan membaginya menjadi tiga lajur yang berbeza, yang boleh dikatakan sebagai kategori. Pertama, COUNT (JIKA) akan mengira baris yang berumur kurang dari 20 tahun dan menyimpan kiraan ini ke lajur baru bernama 'Teenage'. COUNT Kedua (JIKA) mengira baris yang berumur antara 20 dan 30 tahun sambil menyimpannya ke lajur 'Muda'. Ketiga, yang terakhir mengira baris yang berumur lebih dari 30 dan disimpan ke lajur 'Matang'. Kami mempunyai 5 remaja, 9 muda dan hanya 1 orang dewasa dalam rekod kami.

>> PILIH COUNT (JIKA (Umur < 20,1,NULL)) 'Teenage', COUNT(IF(Age BETWEEN 20 AND  30,1,NULL)) 'Young', COUNT(IF(Age > 30,1, NULL)) 'Matang' DARI data.sosial;

MySQL COUNT (*) dengan Fasal GROUP BY

Pernyataan GROUP BY adalah arahan SQL yang digunakan untuk baris kumpulan dengan nilai yang sama. Ia mengembalikan jumlah nilai yang terdapat dalam setiap kumpulan. Sebagai contoh, jika anda ingin memeriksa nombor setiap pengguna secara berasingan, anda harus menentukan lajur 'Pengguna' dengan klausa GROUP BY sambil mengira rekod bagi setiap pengguna dengan COUNT (*).

>> PILIH Pengguna, COUNT (*) DARI data.KUMPULAN sosial OLEH Pengguna;

Anda boleh memilih lebih daripada dua lajur semasa melakukan pengiraan baris bersama dengan klausa GROUP BY, seperti berikut.

>> PILIH Pengguna, Umur, Laman Web, COUNT (*) DARI data.KUMPULAN sosial MENGIKUT Laman Web;

Sekiranya kita mahu mengira baris semasa menggunakan klausa WHERE yang mempunyai beberapa syarat di dalamnya bersama GROUP BY dan COUNT (*), anda juga boleh melakukannya. Pertanyaan di bawah akan mengambil dan menghitung catatan lajur: 'Pengguna', 'Laman web', dan 'Umur' di mana nilai laman web hanya 'Instagram' dan 'Snapchat'. Anda dapat melihat bahawa kami hanya mempunyai 1 rekod untuk kedua-dua laman web untuk pengguna yang berbeza.

>> PILIH Pengguna, Laman Web, Umur, COUNT (*) DARI data.sosial DI MANA Laman Web = 'Instagram' Atau Laman Web = 'Snapchat' KUMPULAN MENGIKUT Laman Web, Umur;

MySQL COUNT (*) dengan GROUP BY dan ORDER BY Clause

Mari cuba klausa GROUP BY dan ORDER BY bersama-sama dengan kaedah COUNT (). Mari ambil dan hitung baris jadual 'sosial' sambil menyusun data dalam susunan menurun menggunakan pertanyaan ini:

>> PILIH Pengguna, Laman Web, Umur, COUNT (*) DARI data.KUMPULAN sosial MENGIKUT Umur ORDER MENGIKUT COUNT (*) DESC;

Pertanyaan yang dinyatakan di bawah akan menghitung baris pertama, kemudian memaparkan satu-satunya rekod yang mempunyai COUNT lebih besar dari 2 dalam urutan menaik.

>> PILIH Pengguna, Umur, COUNT (*) DARI data.KUMPULAN sosial MENGIKUT Umur MEMILIKI COUNT (*)> 2 ORDER BY COUNT (*) ASC;

Kesimpulannya

Kami telah melalui semua kaedah yang mungkin untuk menghitung catatan yang sepadan atau pendua menggunakan kaedah COUNT () dengan klausa lain yang berbeza.

Cara Menggunakan Mesin Cheat GameConqueror di Linux
Artikel ini merangkumi panduan mengenai penggunaan mesin cheat GameConqueror di Linux. Ramai pengguna yang bermain permainan di Windows sering menggun...
Emulator Konsol Permainan Terbaik untuk Linux
Artikel ini akan menyenaraikan perisian emulasi konsol permainan popular yang tersedia untuk Linux. Emulation adalah lapisan keserasian perisian yang ...
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...