MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

COUNT() Fungsi di MariaDB

Di MariaDB, COUNT() fungsi agregat mengembalikan hitungan jumlah nilai non-NULL dari ekspresi dalam baris yang diambil oleh SELECT pernyataan.

Contoh Data

Misalkan kita memiliki tabel berikut:

SELECT * 
FROM Pets;

Hasil:

+-------+-----------+---------+---------+------------+
| PetId | PetTypeId | OwnerId | PetName | DOB        |
+-------+-----------+---------+---------+------------+
|     1 |         2 |       3 | Fluffy  | 2020-11-20 |
|     2 |         3 |       3 | Fetch   | 2019-08-16 |
|     3 |         2 |       2 | Scratch | 2018-10-01 |
|     4 |         3 |       3 | Wag     | 2020-03-15 |
|     5 |         1 |       1 | Tweet   | 2020-11-28 |
|     6 |         3 |       4 | Fluffy  | 2020-09-17 |
|     7 |         3 |       2 | Bark    | NULL       |
|     8 |         2 |       4 | Meow    | NULL       |
+-------+-----------+---------+---------+------------+

Contoh berikut akan menggunakan COUNT() berfungsi saat menanyakan tabel ini.

Contoh

Berikut cara menghitung baris pada tabel di atas:

SELECT COUNT(*)
FROM Pets;

Hasil:

8

Ini memberitahu kita bahwa ada 8 baris dalam tabel. Kami mengetahuinya karena kami menggunakan wildcard asterisk (* ) untuk menentukan semua baris dan semua kolom.

Hitung Kolom Tertentu

Anda juga dapat menentukan kolom untuk dihitung. COUNT() fungsi hanya menghitung non-NULL hasil, jadi jika Anda menentukan kolom yang berisi NULL nilai, nilai tersebut tidak akan dihitung.

Berikut ini contoh untuk menunjukkan apa yang saya maksud.

SELECT COUNT(DOB)
FROM Pets;

Hasil:

6

Dalam hal ini, Pets tabel berisi dua NULL nilai dalam DOB kolom (dua hewan peliharaan belum memberikan tanggal lahir mereka), jadi COUNT(DOB) mengembalikan 6, bukannya 8 saat kita menggunakan COUNT(*) .

Alasan COUNT(*) pada contoh sebelumnya mengembalikan semua baris, karena kedua baris tersebut dilakukan memiliki data di kolom lain.

Hasil yang Difilter

COUNT() fungsi menghitung baris yang dikembalikan oleh kueri. Jadi jika Anda memfilter hasilnya, hasil dari COUNT() akan mencerminkan hal itu.

SELECT COUNT(*)
FROM Pets
WHERE PetName = 'Fluffy';

Hasil:

2

Dalam hal ini, ada dua hewan peliharaan dengan nama Fluffy. Oleh karena itu, dua baris akan dikembalikan oleh kueri, dan hasil dari COUNT() adalah 2 .

Hitung Kolom Berbeda

Kami memiliki opsi untuk menambahkan DISTINCT kata kunci untuk menentukan bahwa hanya nilai yang berbeda yang dikembalikan (sehingga tidak termasuk duplikat):

SELECT 
    COUNT(PetName) AS "All",
    COUNT(DISTINCT PetName) AS "Distinct"
FROM Pets;

Hasil:

+-----+----------+
| All | Distinct |
+-----+----------+
|   8 |        7 |
+-----+----------+

Dalam hal ini, meskipun ada delapan PetName nilai, hanya tujuh di antaranya yang berbeda (dua adalah duplikat – kami memiliki dua hewan peliharaan yang disebut Fluffy).

The HAVING Klausa

Anda dapat menyertakan COUNT() di beberapa bagian kueri. Tidak hanya terbatas pada SELECT daftar.

Berikut adalah contoh yang menggunakan COUNT() di kedua HAVING klausa dan SELECT daftar:

SELECT 
    PetTypeId, 
    COUNT(PetTypeId) AS Count
FROM Pets
GROUP BY PetTypeId
HAVING COUNT(PetTypeId) > 2
ORDER BY Count DESC;

Hasil:

+-------------+---------+
| PetTypeId   | Count   |
|-------------+---------|
| 3           | 4       |
| 2           | 3       |
+-------------+---------+

Lihat SQL COUNT() untuk Pemula untuk penjelasan lebih rinci tentang contoh ini, serta contoh penggunaan COUNT() dalam fungsi jendela.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengatur Replikasi MariaDB (Master-Slave) di CentOS/RHEL 7 dan Debian 8/9

  2. Otomasi Basis Data dengan Wayang:Menyebarkan Replikasi MySQL &MariaDB

  3. Menggunakan Flashback MariaDB di Server MySQL

  4. MariaDB di Tokyo

  5. MariaDB JSON_OBJECT() Dijelaskan