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

Hitung semua record yang tidak ada ke tabel lain - SQL Query

Berikut adalah solusi alternatif menggunakan gabungan:

SELECT COUNT(*)
FROM Table1_delta t1 LEFT JOIN Table1 t2
ON t1.pagename = t2.pagename
WHERE t2.status IS NULL OR t2.status = 1

Berikut adalah tabel sementara dari kueri di atas:

+-----------+--------+
| pagename  | status |
+-----------+--------+
| pagename1 |  2     |    # this row is NOT counted
| pagename2 |  1     |    # +1 this row has status = 1 and is counted
| pagename3 |  null  |    # +1 this row has status = null and is counted
| pagename4 |  null  |    # +1 this row is also null and is counted
+-----------+--------+

Lihat tautan di bawah untuk demo berjalan.

SQLFiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah soft_delete Laravel membutuhkan indeks di MySQL?

  2. Pembaruan MySQL jika nilainya lebih besar dari nilai saat ini

  3. GABUNG Ganda dengan tabel yang sama dua kali

  4. Kesalahan:Klien tidak mendukung protokol otentikasi yang diminta oleh server; pertimbangkan untuk memutakhirkan klien MySQL

  5. mysql:cara efisien untuk pencarian postfix (seperti '%text' alias awalan wildcard)?