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

Mengapa saya perlu OR NULL di MySQL saat menghitung baris dengan kondisi

Ini akan mengungkapkan semua

SELECT 4=4, 3=4, 1 or null, 0 or null

Keluaran

1   |   0   |   1   |   NULL

Fakta

  1. COUNT menambahkan kolom/ekspresi yang mengevaluasi NOT NULL. Apa pun akan bertambah 1, selama itu bukan nol. Pengecualian adalah COUNT(DISTINCT) yang bertambah hanya jika belum dihitung.

  2. Ketika ekspresi BOOLEAN digunakan sendiri, ia mengembalikan 1 atau 0.

  3. Ketika boolean adalah OR -ed dengan NULL, NULL hanya jika bernilai 0 (salah)

Kepada orang lain

Ya jika hitungan adalah HANYA kolom yang diinginkan, seseorang dapat menggunakan WHERE value=4 tetapi jika itu adalah kueri yang ingin menghitung dan juga 4 mengambil jumlah/agregat lain, maka filter tidak berfungsi. Alternatifnya adalah SUM(value=4) , misalnya

SELECT sum(value=4)
  FROM test


  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 terbaik menyimpan informasi pengguna dan login pengguna dan kata sandi

  2. Cara membuat Gambar Docker MySQL yang terisi pada waktu pembuatan

  3. Menghubungkan Aplikasi ODBC ke MySQL

  4. Bagaimana saya bisa mengimpor file JSON ke database MySQL, menggunakan kueri sederhana, tanpa benar-benar mengonversinya ke format file lain seperti CSV dll.?

  5. MySQL mengatur tanggal saat ini di bidang DATETIME saat disisipkan