MySQL MariaDB

MySQL zählt übereinstimmende Datensätze mit COUNT

MySQL zählt übereinstimmende Datensätze mit 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:

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 COUNT()-Methode ansehen.

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

>> AUSWÄHLEN * AUS 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 gegebenen 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.

>> ANZAHL(*) VON DATEN WÄHLEN.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.

>> ANZAHL(*) VON DATEN WÄHLEN.soziales WHERE User = 'Mustafa';

Um die Gesamtsumme der Zeilen abzurufen, in denen die Website der Nutzer "Instagram" ist, versuchen Sie es mit der unten angegebenen Abfrage. Die Tabelle 'social' hat nur 4 Datensätze für die Website 'Instagram'.

>> ANZAHL(*) VON DATEN WÄHLEN.soziale WHERE-Website = 'Instagram';

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

>> ANZAHL(*) VON DATEN WÄHLEN.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 Anleitung auf der Shell.

>> WÄHLEN Sie Benutzer, Website VON Daten aus.social WHERE Benutzer wie '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.

>> ANZAHL (Website) VON Daten AUSWÄHLEN.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 unterschiedliche Datensätze der Spalte 'Alter' aus der Tabelle 'sozial'. Das heißt, wir haben insgesamt 6 Personen unterschiedlichen Alters.

>> ANZAHL (DISTINCT Age) AUS den Daten WÄHLEN.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 aufteilen, die als Kategorien bezeichnet werden können. Zuerst zählt COUNT(IF) die Zeilen mit einem Alter unter 20 Jahren und speichert diese Anzahl 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 mit einem Alter von mehr als 30 und wird in einer Spalte "Reif" gespeichert. Wir haben 5 Teenager, 9 junge und nur 1 reife Person in unserem Rekord.

>> ANZAHL AUSWÄHLEN(WENN(Alter < 20,1,NULL)) 'Teenage', COUNT(IF(Age BETWEEN 20 AND  30,1,NULL)) 'Young', COUNT(IF(Age > 30,1,NULL)) 'Reif' aus 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.

>> Benutzer AUSWÄHLEN, ANZAHL(*) VON Daten.sozial  GRUPPE NACH Nutzer;

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, Website, ANZAHL(*) VON Daten.sozial  GRUPPE NACH Website;

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.

>> WÄHLEN Sie Benutzer, Website, Alter, ANZAHL(*) VON Daten.sozial WHERE Website = 'Instagram' Oder Website = 'Snapchat' GRUPPE NACH Website, Alter;

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

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

>>  Nutzer, Website, Alter, ANZAHL(*) VON Daten AUSWÄHLEN.sozial GRUPPE NACH Alter ORDER NACH ANZAHL(*) 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, ANZAHL(*) VON Daten.sozial GRUPPE NACH Alter HAVING COUNT(*) > 2 ORDER BY COUNT(*) ASC;

Fazit

Wir haben alle möglichen Methoden durchgegangen, um die übereinstimmenden oder doppelten Datensätze mit der Methode COUNT() mit verschiedenen anderen Klauseln zu zählen.

Top 10 Spiele zum Spielen auf Ubuntu
Die Windows-Plattform war eine der dominierenden Plattformen für Spiele aufgrund des großen Prozentsatzes von Spielen, die heute entwickelt werden, um...
Die 5 besten Arcade-Spiele für Linux
Heutzutage sind Computer ernsthafte Maschinen, die zum Spielen verwendet werden. Wenn du den neuen Highscore nicht bekommst, weißt du was ich meine. I...
Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...