Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Policz wszystkie rekordy, które nie istnieją w innej tabeli - Zapytanie SQL

Oto alternatywne rozwiązanie z wykorzystaniem złączeń:

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

Oto jak wygląda tymczasowa tabela z powyższego zapytania:

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

Sprawdź poniższy link, aby zobaczyć działające demo.

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. ADDDATE() vs DATE_ADD() w MySQL:jaka jest różnica?

  2. Niezsynchronizowane polecenia; nie możesz teraz uruchomić tego polecenia SQL

  3. Ceny pokoi hotelowych dla różnych pór roku

  4. Niezdefiniowana właściwość:Illuminate\Database\Eloquent\Collection::Laravel 5.2

  5. Różnica w miesiącach między datami w MySQL