*Der Unterschied zwischen COUNT() und COUNT(Spalte) in SQL**
In SQL stellen die Aggregatfunktionen COUNT(*) und COUNT(column) unterschiedliche Mechanismen zum Zählen von Datenzeilen bzw. -spalten in einer Tabelle bereit.
COUNT() Zählt alle Zeilen in der angegebenen Tabelle, mit Ausnahme von NULL-Werten. Das bedeutet, dass COUNT() die Gesamtzahl der Nicht-NULL-Zeilen zurückgibt, unabhängig davon, welche Spalten Daten enthalten.
Andererseits zählt COUNT(column) die Anzahl der Zeilen, in denen die angegebene Spalte nicht NULL ist. Dies ermöglicht das selektive Zählen von Nicht-NULL-Werten in bestimmten Spalten.
*Ersetzen Sie COUNT(Spalte)** durch COUNT(
)Das Ersetzen aller Instanzen von COUNT(Spaltenname) in der Abfrage durch COUNT(*) hat die folgenden Auswirkungen:
Demo
Um diesen Unterschied zu veranschaulichen, reproduzieren wir das in der ursprünglichen Frage beschriebene Szenario:
<code class="language-sql">create table #bla(id int,id2 int) insert #bla values(null,null) insert #bla values(1,null) insert #bla values(null,1) insert #bla values(1,null) insert #bla values(null,1) insert #bla values(1,null) insert #bla values(null,null) select count(*),count(id),count(id2) from #bla</code>
Ergebnis:
<code>7 3 2</code>
In diesem Beispiel zählt die Spalte COUNT(*) alle sieben Zeilen, einschließlich der beiden Zeilen, in denen sowohl id als auch id2 NULL sind. Die Spalte COUNT(id) zählt nur drei Zeilen, in denen id nicht NULL ist, während COUNT(id2) zwei Zeilen zählt, in denen id2 nicht NULL ist.
Das obige ist der detaillierte Inhalt vonCOUNT(*) vs. COUNT(Spalte): Was ist der Unterschied bei der SQL-Zeilenzählung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!