Die COUNT IF-Methode in MySQL

Preet Sanghavi 28 März 2022
Die COUNT IF-Methode in MySQL

In diesem Tutorial möchten wir untersuchen, wie die Methode COUNT IF in MySQL verwendet wird.

Die Methode COUNT() in MySQL gibt als Ausgabe die Gesamtzahl der Zeilen in der Tabelle aus. Aber in diesem Artikel sind wir daran interessiert zu verstehen, wie wir Informationen basierend auf einer bestimmten IF-Bedingung aus unseren Daten zählen können.

Der IF-Befehl gibt uns die Gesamtzahl der unterschiedlichen Nicht-Null-Werte nur dann an, wenn die Werte den Ausdruck oder die Bedingung erfüllen, die im IF-Abfragefragment erwähnt werden.

Lassen Sie uns verstehen, wie diese Methode funktioniert.

Bevor wir beginnen, erstellen wir einen Dummy-Datensatz, an dem wir arbeiten können.

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

Verwenden des Count IF in MySQL

Die grundlegende Syntax der COUNT IF-Technik lässt sich wie folgt veranschaulichen.

SELECT  COUNT(IF(<condition>, <expr>, NULL)) AS alias FROM name_of_the_table;

Wie in der obigen Abfrage zu sehen ist, zielen wir darauf ab, unterschiedliche oder nicht unterschiedliche Werte, die hier als expr angegeben sind, aus einer bestimmten Tabelle zu zählen, basierend auf einer Bedingung, die in der IF-Klausel als Bedingung definiert ist.

Lassen Sie uns in unserer Tabelle mit Studentendetails die Gesamtzahl der unterschiedlichen stu_id zählen, deren stu_firstName auf reet endet. Diese Aufgabe kann mit der folgenden Abfrage gelöst werden.

SELECT DISTINCT
    COUNT(DISTINCT IF(stu_firstName like '%reet',
            stu_id,
            NULL)) AS count_student_ids
FROM student_details;

Dieser Code zählt verschiedene Zahlen von stu_id aus der Tabelle student_details unter der Bedingung, dass stu_firstName in der IF-Klausel mit reet enden sollte.

Ausgabe:

count_student_ids
1

Hinweis: Im obigen Codeausschnitt verwenden wir den Alias ​​count_student_ids mit dem Schlüsselwort AS in MySQL.

Eine Alternative zur COUNT IF-Technik ist die SUM CASE-Technik, die uns helfen kann, ähnliche Ergebnisse zu erzielen.

Daher können wir mit Hilfe der COUNT IF-Technik die Gesamtzahl der Vorkommen einer Entität basierend auf einer bestimmten Bedingung aus einer Tabelle in MySQL effizient zählen.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Verwandter Artikel - MySQL Query