Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apa perbedaan antara count(0), count(1).. dan count(*) di mySQL/SQL?

Tidak ada yang benar-benar, kecuali jika Anda menentukan bidang dalam tabel atau ekspresi dalam tanda kurung, bukan nilai konstan atau *

Biarkan saya memberi Anda jawaban terperinci. Hitungan akan memberi Anda nomor catatan non-null dari bidang yang diberikan. Katakanlah Anda memiliki tabel bernama A

select 1 from A
select 0 from A
select * from A

semua akan mengembalikan jumlah record yang sama, yaitu jumlah baris pada tabel A. Tetap saja outputnya berbeda. Jika ada 3 record dalam tabel. Dengan X dan Y sebagai nama bidang

select 1 from A will give you

1
1
1

select 0 from A will give you
0
0
0

select * from A will give you ( assume two columns X and Y is in the table )
X      Y
--     --
value1 value1
value2 (null)
value3 (null)

Jadi, ketiga kueri mengembalikan nomor yang sama. Kecuali Anda menggunakan

select count(Y) from A 

karena hanya ada satu nilai non-null, Anda akan mendapatkan 1 sebagai output



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP CRUD Buat, edit, perbarui, dan hapus posting dengan database MySQL

  2. Innodb:Tidak dapat menemukan indeks FULLTEXT yang cocok dengan daftar kolom saat ditanyakan lebih dari 1 kolom

  3. Koneksi MySql jarak jauh dari server lain

  4. bagaimana cara mendapatkan peringkat posisi baris tertentu hanya dengan menggunakan kueri mysql?

  5. mulai php, apache?