MySQL zählt übereinstimmende Datensätze mit COUNT

Mysql Count Matching Records With Count



Datenredundanz tritt aus vielen Gründen auf. Einige der komplizierten Aufgaben, die Sie bei der Arbeit mit Datenbanksystemen bewältigen sollten, besteht darin, doppelte Werte zu entdecken. Zu diesem Zweck verwenden wir die Aggregatmethode COUNT(). Die Methode COUNT() gibt die Summe der Zeilen zurück, die sich in einer bestimmten Tabelle befinden. Mit der Funktion COUNT() können Sie alle Zeilen oder nur Zeilen summieren, die der definierten Bedingung entsprechen. In diesem Handbuch erfahren Sie, wie Sie mit COUNT() doppelte Werte für eine oder mehrere MySQL-Spalten identifizieren. Die Methode COUNT() hat die folgenden drei Typen:

  • ZÄHLEN(*)
  • ANZAHL(Ausdruck)
  • COUNT(DISTINCT-Ausdruck)

Stellen Sie sicher, dass MySQL auf Ihrem System installiert ist. Öffnen Sie die MySQL-Befehlszeilen-Client-Shell und geben Sie Ihr Passwort ein, um fortzufahren. Wir werden uns einige Beispiele für das Zählen der übereinstimmenden Werte mit der Methode COUNT() ansehen.









Wir haben eine Tabelle ‚social‘ in unserem Schema ‚data‘. Lassen Sie uns seinen Datensatz mit der folgenden Abfrage überprüfen.



>> AUSWÄHLEN * VON Daten .Sozial;





MySQL-Anzahl(*)

Die Methode COUNT(*) wird verwendet, um die Anzahl der Zeilen in der Tabelle zu zählen oder die Anzahl der Zeilen gemäß der angegebenen Bedingung zu zählen. Um die Gesamtzahl der Zeilen in einer Tabelle zu überprüfen, versuchen Sie die folgende Abfrage. Wir haben insgesamt 15 Zeilen in der Tabelle gemäß dem Ergebnis.

>> AUSWÄHLEN ZÄHLEN (*) VON Daten .Sozial;



Werfen Sie einen Blick auf die COUNT(*)-Methode, während Sie einige Bedingungen definieren. Wir müssen die Anzahl der Zeilen abrufen, in denen der Benutzername mit „Mustafa“ identisch ist. Sie können sehen, dass wir nur 4 Datensätze für diesen bestimmten Namen haben.

>> AUSWÄHLEN ZÄHLEN (*) VON Daten .Sozial WO Benutzer ='Mustafa';

Um die Gesamtsumme der Zeilen abzurufen, in denen die Website der Benutzer „Instagram“ ist, versuchen Sie die unten angegebene Abfrage. Die Tabelle „social“ hat nur 4 Datensätze für die Website „Instagram“.

>> AUSWÄHLEN ZÄHLEN (*) VON Daten .Sozial WO Webseite=„Instagram“;

Um die Gesamtzahl der Zeilen abzurufen, bei denen das „Alter“ größer als 18 ist, gehen Sie wie folgt vor:

>> AUSWÄHLEN ZÄHLEN (*) VON Daten .Sozial WO Alter> 18;

Holen wir uns die Daten der Spalten „Benutzer“ und „Website“ aus einer Tabelle, in der der Benutzername mit dem Alphabet „M“ beginnt. Versuchen Sie die folgende Anweisung auf der Shell.

>> AUSWÄHLEN Benutzer ,Webseite VON Daten .Sozial WO Benutzer mögen 'M%';

MySQL COUNT(Ausdruck)

In MySQL wird die COUNT(Ausdruck)-Methode nur verwendet, wenn Sie Nicht-Null-Werte der Spalte „Ausdruck“ zählen möchten. Der „Ausdruck“ wäre der Name einer beliebigen Spalte. Nehmen wir ein einfaches Beispiel dafür. Wir haben nur die Nicht-Null-Werte einer Spalte „Website“ gezählt, die sich auf die Spalte „Alter“ mit einem Wert von „25“ bezieht. Sehen! Wir haben nur 4 Nicht-Null-Datensätze für die Benutzer im Alter von „25“, die Websites verwenden.

>> AUSWÄHLEN ZÄHLEN (Webseite) VON Daten .Sozial WO Alter= 25;

MySQL COUNT(DISTNCT-Ausdruck)

In MySQL wird die Methode COUNT(DISTINCT expression) verwendet, um Nicht-Null-Werte und eindeutige Werte der Spalte „Ausdruck“ zu summieren. Um eine bestimmte Anzahl von Nicht-Null-Werten in der Spalte „Alter“ zu zählen, haben wir die folgende Abfrage verwendet. Sie finden 6 ungleiche und eindeutige Datensätze der Spalte „Alter“ aus der Tabelle „sozial“. Das heißt, wir haben insgesamt 6 Personen unterschiedlichen Alters.

>> AUSWÄHLEN ZÄHLEN ( UNTERSCHEIDBAR Alter) VON Daten .Sozial;

MySQL COUNT(IF(Ausdruck))

Für eine große Betonung sollten Sie COUNT() mit Flusssteuerungsfunktionen zusammenführen. Für den Anfang können Sie für einen Teil des Ausdrucks, der in der COUNT()-Methode verwendet wird, die IF()-Funktion verwenden. Dies kann sehr nützlich sein, um eine schnelle Aufschlüsselung der Informationen in einer Datenbank bereitzustellen. Wir werden die Anzahl der Zeilen mit unterschiedlichen Altersbedingungen zählen und sie in drei verschiedene Spalten einteilen, die als Kategorien bezeichnet werden können. Zuerst zählt COUNT(IF) die Zeilen mit einem Alter unter 20 Jahren und speichert diese Zählung in einer neuen Spalte namens 'Teenage'. Second COUNT(IF) zählt die Zeilen mit einem Alter zwischen 20 und 30, während es in einer Spalte 'Jung' gespeichert wird. Drittens zählt die letzte die Zeilen, die älter als 30 Jahre sind und in einer Spalte „Reif“ gespeichert sind. Wir haben 5 Teenager, 9 junge und nur 1 reife Person in unserem Datensatz.

>> AUSWÄHLEN ZÄHLEN ( WENN (Alter< zwanzig,1, NULL ))„Jugendlicher“, ZÄHLEN ( WENN (Alter ZWISCHEN zwanzig UND 30,1, NULL ))'Jung', ZÄHLEN ( WENN (Alter> 30,1, NULL ))'Reifen' VON Daten .Sozial;

MySQL COUNT(*) mit GROUP BY-Klausel

Die GROUP BY-Anweisung ist eine SQL-Anweisung, die für Gruppenzeilen mit denselben Werten verwendet wird. Es gibt die Gesamtzahl der Werte zurück, die sich in jeder Gruppe befinden. Wenn Sie beispielsweise die Nummer jedes Benutzers separat überprüfen möchten, müssen Sie die Spalte „Benutzer“ mit der GROUP BY-Klausel definieren, während Sie Datensätze für jeden Benutzer mit COUNT(*) zählen.

>> AUSWÄHLEN Benutzer , ZÄHLEN (*) VON Daten .Sozial GRUPPIERE NACH Benutzer ;

Sie können entweder mehr als zwei Spalten auswählen, während Sie die Zeilenzählung zusammen mit der GROUP BY-Klausel ausführen, wie folgt.

>> AUSWÄHLEN Benutzer ,Alter,Webseite, ZÄHLEN (*) VON Daten .Sozial GRUPPIERE NACH Webseite;

Wenn wir Zeilen zählen möchten, während wir die WHERE-Klausel verwenden, die neben GROUP BY und COUNT(*) einige Bedingungen enthält, können Sie dies auch tun. Die folgende Abfrage ruft und zählt die Datensätze der Spalten: 'Benutzer', 'Website' und 'Alter', wobei der Website-Wert nur 'Instagram' und 'Snapchat' ist. Sie können sehen, dass wir nur 1 Datensatz für beide Websites für verschiedene Benutzer haben.

>> AUSWÄHLEN Benutzer ,Webseite,Alter, ZÄHLEN (*) VON Daten .Sozial WO Webseite=„Instagram“ Oder Webseite=„Snapchat“ GRUPPIERE NACH Webseite,Alter;

MySQL COUNT(*) mit GROUP BY- und ORDER BY-Klausel

Probieren wir die Klauseln GROUP BY und ORDER BY zusammen mit der Methode COUNT() aus. Lassen Sie uns die Zeilen der Tabelle 'social' abrufen und zählen, während wir die Daten mit dieser Abfrage in absteigender Reihenfolge anordnen:

>> AUSWÄHLEN Benutzer ,Webseite,Alter, ZÄHLEN (*) VON Daten .Sozial GRUPPIERE NACH Alter SORTIEREN NACH ZÄHLEN (*) DESC ;

Die unten angegebene Abfrage zählt zuerst die Zeilen und zeigt dann die einzigen Datensätze mit COUNT größer als 2 in aufsteigender Reihenfolge an.

>> AUSWÄHLEN Benutzer ,Alter, ZÄHLEN (*) VON Daten .Sozial GRUPPIERE NACH Alter HABEN ZÄHLEN (*) > 2 SORTIEREN NACH ZÄHLEN (*) ASC ;

Abschluss

Wir haben alle möglichen Methoden zum Zählen der übereinstimmenden oder doppelten Datensätze mit der Methode COUNT() mit verschiedenen anderen Klauseln durchgegangen.