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

Kembalikan NULL jika Hitung (*) adalah nol

Pertama, Anda melewatkan GROUP BY klausa di bagian bawah kueri Anda untuk dikelompokkan berdasarkan school_name :

SELECT count(student_name) AS total_student, school_name
FROM student
    LEFT JOIN school_info ON school_info.school_id = student.school_id
WHERE student.status = '0'
GROUP BY school_name

Kemudian, jika Anda ingin tidak menampilkan baris di mana total_student =0 maka Anda dapat menggunakan klausa MySQL HAVING:

SELECT count(student_name) AS total_student, school_name
FROM student
    LEFT JOIN school_info ON school_info.school_id = student.school_id
WHERE student.status = '0'
GROUP BY school_name
HAVING count(student_name) > 0

Atau, Anda dapat mengubah LEFT JOIN ke INNER JOIN untuk mencapai hal yang sama dalam kasus ini.

Terakhir, jika Anda ingin mengganti 0 dengan nol tetapi masih memiliki baris, Anda dapat memperbarui pernyataan pilih untuk mendapatkan total menjadi:

SELECT IF(COUNT(student_name) = 0, NULL, COUNT(student_name)) AS total_student, school_name


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa cara terbaik untuk menghapus baris lama dari MySQL secara bergulir?

  2. Sisipkan MySQL pada pembaruan duplikat untuk kunci non-PRIMARY

  3. Apakah mungkin membuat kolom di MySQL dengan ekspresi sebagai nilai default?

  4. WebSecurity.CreateAccount gagal untuk MySQL

  5. Bagaimana cara menyimpan file PDF yang dihasilkan ke database MySQL menggunakan Java?