Führen Sie Datenstatistiken für verschiedene Werte desselben Felds in SQL durch

Führen Sie Datenstatistiken für verschiedene Werte desselben Felds in SQL durch

Anwendungsszenario: Es ist notwendig, die Anzahl der Siegel in unterschiedlichen Zuständen entsprechend den unterschiedlichen Zuständen der Siegel zu zählen.

Bei meiner ersten Suche auf Baidu habe ich zwar unterschiedliche Antworten gefunden, die Schuld kann ich mir allerdings nur selbst geben, weil ich die SQL-Syntax nicht gut genug verstanden und es versäumt habe, sie auszuschreiben, was zu folgender fehlerhafter Schreibweise geführt hat.

Wählen Sie b.corporateOrgName, b.corporateOrgGuid companyId,
Anzahl (Fall, wenn bc.ftype nicht in (1,2), dann 1, sonst 0, Ende) Gesamt,
zählen (Fall wenn bc.ftype in (3,4,5) dann 1 sonst 0 Ende) usetotal,
zählen (Fall wenn bc.ftype = 6, dann 1, sonst 0, Ende) Gesamtsumme speichern,
Anzahl (Fall wenn bc.ftype = 7, dann 1, sonst 0, Ende) returnTotal
von B_seal_cycle bc
beitreten B_seal b
auf bc.sealId = b.id
wobei b.corporateOrgName wie '%%' ist.
Gruppieren nach b.corporateOrgName,b.corporateOrgGuid

Die Logik ist nachvollziehbar, aber ich kann einfach nicht die ideale Schnittstelle finden, sodass alle geschriebenen statistischen Daten gleich sind. Korrekte Rechtschreibung nach der Änderung

Wählen Sie b.corporateOrgName, b.corporateOrgGuid companyId,
Anzahl (Fall, wenn bc.ftype nicht in (1,2), dann 1 Ende) insgesamt,
zählen (Fall wenn bc.ftype in (3,4,5) dann 1 Ende) usetotal,
zählen (Fall wenn bc.ftype = 6, dann 1 Ende) Gesamtsumme speichern,
Anzahl (Fall wenn bc.ftype = 7, dann 1 Ende) returnTotal
von B_seal_cycle bc
beitreten B_seal b
auf bc.sealId = b.id
wobei b.corporateOrgName wie '%%' ist.
Gruppieren nach b.corporateOrgName,b.corporateOrgGuid

Sehen Sie den Unterschied? Durch Entfernen der sonstigen 0 wird das richtige Ergebnis erzielt.

Aufgetretene Probleme

1. Die Interpretation der Groß-/Kleinschreibung bei falscher Syntax.

Nach dem Hinzufügen von else ist das Ergebnis immer 1 oder 0.

2. Die Zählfunktion zählt, ob es 1 oder 0 ist.

3. Nach dem Hinzufügen von else 0 können Statistiken mit der Summenfunktion erstellt werden.

Sie können auch schreiben

Wählen Sie b.corporateOrgName, b.corporateOrgGuid companyId,
Summe (Fall wenn bc.ftype nicht in (1,2) ist, dann 1, sonst 0, Ende) Gesamt,
Summe (Fall wenn bc.ftype in (3,4,5) dann 1 sonst 0 Ende) usetotal,
Summe (Fall wenn bc.ftype = 6, dann 1, sonst 0, Ende) Gesamtsumme speichern,
Summe (Fall wenn bc.ftype = 7, dann 1, sonst 0, Ende) returnTotal
von B_seal_cycle bc
beitreten B_seal b
auf bc.sealId = b.id
wobei b.corporateOrgName wie '%%' ist.
Gruppieren nach b.corporateOrgName,b.corporateOrgGuid

Wenn Sie Fragen oder bessere Schreibmöglichkeiten haben, hinterlassen Sie bitte eine Nachricht.

Zusatzwissen: Was ist der Unterschied zwischen der Ausführung der Anweisungen DESC und DESCRIBE in der SQL-Sprache?

DESCRIBE TABLE wird verwendet, um alle Spalten in der angegebenen Tabelle oder Ansicht aufzulisten.

DESCRIBE INDEX FOR TABLE wird verwendet, um alle Indizes der angegebenen Tabelle aufzulisten.

Daher wird DESCRIBE verwendet, um Datenstrukturinformationen anzuzeigen;

Desc steht für Descendant und dient dazu, die Ergebnisse bei Abfragen in absteigender Reihenfolge zu sortieren.

DESCRIBE ist eine Abkürzung für SHOW COLUMNS FROM.

DESCRIBE liefert Informationen zu den Spalten einer Tabelle. col_name kann ein Spaltenname oder eine Zeichenfolge sein, die die SQL-Platzhalterzeichen „%“ und „_“ enthält. Es ist nicht erforderlich, die Zeichenfolge in Anführungszeichen zu setzen.

1. Der Befehl „describe“ dient zum Anzeigen detaillierter Entwurfsinformationen einer bestimmten Tabelle

Um beispielsweise die Designinformationen der Gästebuchtabelle anzuzeigen, können Sie Folgendes verwenden:

Gästebuch beschreiben ol_user Benutzer-ID beschreiben

2. Sie können die Spaltennamen der Tabellen in der Datenbank über "show comnus" anzeigen.

Es gibt zwei Möglichkeiten, es zu verwenden:

Spalten vom Tabellennamen aus dem Datenbanknamen anzeigen

oder:

Spalten aus Datenbankname.Tabellenname anzeigen

3. Verwenden Sie den Befehl „describe“, um bestimmte Spalteninformationen abzufragen

Beschreiben Sie die Gästebuch-ID, um die Spalteninformationen des ID-Felds im Gästebuch abzufragen

{BESCHREIBEN | 
BESCHREIBUNG
} Tabellenname [Spaltenname | wild]

DESCRIBE ist eine Abkürzung für SHOW COLUMNS FROM.

DESCRIBE liefert Informationen zu den Spalten einer Tabelle. col_name kann ein Spaltenname oder eine Zeichenfolge sein, die die SQL-Platzhalterzeichen „%“ und „_“ enthält. Es ist nicht erforderlich, die Zeichenfolge in Anführungszeichen zu setzen.

MySQL> 
Beschreibung
ol_user Benutzername\G

4. Bestimmen Sie, ob ein Feld vorhanden ist

mysql_connect(
„lokaler Host“  
,   
'Wurzel'  
,   
'Wurzel'   
);
   
mysql_select_db(   
'Demo'   
); 
$test = mysql_query(
„Beschreiben Sie zuerst cdb_posts“
); 
: Wenn Sie einen Array-Fetch in einem Array ausführen, wird die Abfrage ausgeführt.

$test[0] gibt den Namen des Feldes zurück. Wenn ich beispielsweise das erste Feld abfragen möchte, ist der zurückgegebene Wert first.

Wenn dieses Feld nicht existiert, wird NULL zurückgegeben. So können Sie feststellen, ob ein Feld vorhanden ist.

Der obige Artikel zum Durchführen von Datenstatistikoperationen für verschiedene Werte desselben Felds in SQL ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen, und ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • So aktualisieren Sie dasselbe Feld mehrerer Datensätze in MySQL stapelweise auf unterschiedliche Werte
  • MySQL SQL-Anweisung zum Suchen doppelter Daten basierend auf einem oder mehreren Feldern
  • So fragen Sie doppelte Daten in einer MySQL-Tabelle ab

<<:  Mehrere Möglichkeiten zum Herunterfahren des Hyper-V-Dienstes unter Windows 10

>>:  So schreiben Sie hochwertigen JavaScript-Code

Artikel empfehlen

MySQL-Lerndatenbankbetrieb DML ausführliche Erklärung für Anfänger

Inhaltsverzeichnis 1. Anweisung einfügen 1.1 Einf...

Vue implementiert die browserseitige Code-Scan-Funktion

Hintergrund Vor nicht allzu langer Zeit habe ich ...

Detaillierte Erklärung zur Verwendung der Linux-Umleitung

Ich glaube, dass jeder manchmal Daten kopieren un...

Lösen Sie das Problem der Installation von Theano auf Ubuntu 19

Lösung: Ändern Sie die Datei setup.py direkt in d...

So konvertieren Sie Chinesisch in HTML in UTF-8

In HTML kann die chinesische Phrase „學好好學“ als „學...

So verbinden Sie JDBC mit MySQL 5.7

1. Bereiten Sie zunächst die MySQL- und Eclipse-U...

HTML css js implementiert Tab-Seite Beispielcode

Code kopieren Der Code lautet wie folgt: <html...

Was macht der legendäre VUE-Syntax-Sugar?

Inhaltsverzeichnis 1. Was ist syntaktischer Zucke...