Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Đếm tất cả các bản ghi không tồn tại trong bảng khác - Truy vấn SQL

Đây là một giải pháp thay thế bằng cách sử dụng các phép nối:

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

Đây là bảng tạm thời từ truy vấn trên trông như thế nào:

+-----------+--------+
| 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
+-----------+--------+

Hãy xem liên kết bên dưới để biết bản demo đang chạy.

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. Cách liên kết dữ liệu với thời gian chạy trình xem báo cáo

  2. Cài đặt Trình điều khiển JDBC-mysql để xử lý tốt DATETIME và TIMESTAMP trong UTC là gì?

  3. SQL:Thứ tự mặc định của các truy vấn là gì?

  4. Cách nối hai bảng bằng danh sách được phân tách bằng dấu phẩy trong trường nối

  5. Lỗi khung thực thể MySQL - Không thể tìm thấy nhà cung cấp cửa hàng được chỉ định trong cấu hình hoặc không hợp lệ