Vorwort Die in diesem Artikel implementierte Anforderung ist eigentlich sehr verbreitet. Beispielsweise haben wir eine Benutzerquellentabelle, um den Kanal zu markieren, von dem aus sich der Benutzer registriert hat. Die Tabellenstruktur ist unten dargestellt … Herkunft ist die Benutzerquelle und ihre Werte umfassen iPhone, Android und Web. Jetzt müssen wir die Anzahl der über diese drei Kanäle registrierten Benutzer separat zählen. Lösung 1 SELECT-Anzahl(*) FROM Benutzeroperationsprotokoll WO Herkunft = "iPhone"; SELECT-Anzahl(*) FROM Benutzeroperationsprotokoll WO Herkunft = "Android"; SELECT-Anzahl(*) FROM Benutzeroperationsprotokoll WO Herkunft = 'Web'; Um die jeweiligen Mengen zu ermitteln, verwenden Sie die Where-Anweisung. Das ist etwas zu viel Abfrage. Wenn es 10 Werte gibt, müssen Sie 10 ähnliche Anweisungen schreiben, was sehr mühsam ist. Gibt es eine einzelne Anweisung, die dies kann? Also habe ich ein paar Informationen nachgeschaut. Lösung 2 Wir wissen, dass mit count nicht nur die Anzahl der Zeilen gezählt werden kann, sondern auch die Anzahl der Spaltenwerte, zum Beispiel: Zählen Sie die Anzahl der Zeilen im user_operation_log: SELECT count(*) FROM user_operation_log Zählen Sie die Anzahl der Werte in der Ursprungsspalte, die nicht NULL sind: SELECT Anzahl(Ursprung) FROM Benutzeroperationsprotokoll Wir können diese Funktion also nutzen, um die oben genannten Anforderungen zu erfüllen Die erste Schreibweise (mit count) WÄHLEN Anzahl (Ursprung = 'iPhone' oder NULL) als iPhone, Anzahl (Ursprung = 'Android' oder NULL) als Android, Anzahl (Ursprung = 'Web' oder NULL) als Web AUS Benutzeroperationsprotokoll; Abfrageergebnisse Die zweite Schreibweise (mit Summe) WÄHLEN Summe(wenn(Ursprung = 'iPhone', 1, 0)) AS iPhone, Summe(wenn(Ursprung = 'Android', 1, 0)) AS Android, Summe(wenn(Ursprung = 'Web', 1, 0)) AS Web AUS Benutzeroperationsprotokoll; Abfrageergebnisse Die dritte Schreibweise (Summe neu schreiben) WÄHLEN Summe(Herkunft = 'iPhone') AS iPhone, Summe(Herkunft = 'Android') AS Android, Summe(Herkunft = 'Web') AS Web AUS Benutzeroperationsprotokoll; Abfrageergebnisse Die vierte Schreibweise (aus der Antwort des Nuggets-Benutzers Jeff) Wählen Sie Herkunft, Anzahl (*) Num aus Benutzeroperationsprotokoll Group BY Herkunft; Abfrageergebnisse Bisher wurden unsere Anforderungen erfüllt. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Implementierung von JavaScript zum Herunterladen und Hochladen verknüpfter Bilder
>>: So implementieren Sie geplante MySQL-Aufgaben zur Datensicherung unter Linux
Vorwort Ich habe mir am Sonntag zu Hause das drei...
Das Folgende ist ein Balkendiagramm im Flex-Layou...
Inhaltsverzeichnis 1. Einleitung 2. Bereiten Sie ...
Mac wird mit Apache-Umgebung geliefert Öffnen Sie...
Problem: Die MySQL-Datenbank ist unerwartet abges...
MySQL-Zeichenfolgenverkettung, -Abfangen, -Ersetz...
Ein einfaches Beispiel für die Verwendung der dre...
Inhaltsverzeichnis SQL-Ausführungsreihenfolge Bin...
Was ist HTML? Um es einfach auszudrücken: HTML wi...
Inhaltsverzeichnis Schmutzige Seiten (Speichersei...
Um nach RocketMQ-Images zu suchen, können Sie auf...
Es gibt im Internet viele Artikel zur MySQL-Insta...
1. Kurze Einführung in Nginx Nginx ist ein kosten...
Merkmale einer Single-Page-Anwendung „Annahme:“ A...
Vorwort Dieser Artikel ist ziemlich ausführlich u...