Ich werde nicht viel Unsinn erzählen, schauen wir uns einfach den Code an ~ wählen Sie project_no, Summe (Fall wenn Gerätestatus = 0, dann 1, sonst 0, Ende) als offTotal, Summe (Fall wenn Gerätestatus = 1, dann 1, sonst 0, Ende) als Online-Gesamtsumme, Summe(1)Gesamt von iot_d_device Gruppieren nach Projektnummer Sortieren nach project_no Ergänzung: MySQL verwendet eine SQL-Anweisung, um mehrere statistische Ergebnisse abzufragen Bei Mall-Projekten tritt zwangsläufig das Problem auf, dass Benutzer auf ihrer persönlichen Center-Seite die Anzahl der Bestellungen mit unterschiedlichem Status abfragen. Natürlich ist dieses Problem nicht schwierig. Sie können eine Methode auf der DAO-Ebene schreiben, die den Status als Eingabeparameter verwendet und jedes Mal einen anderen Statuswert übergibt, um nacheinander die Anzahl der Bestellungen im entsprechenden Status abzufragen. Als ich heute die H5-Schnittstelle geschrieben habe, wollte ich es auf eine andere Art prüfen, nämlich die Anzahl der Bestellungen in mehreren Staaten über ein SQL abfragen. Ich habe online gesucht und fand die Methode durchführbar. Also habe ich sie ausprobiert und sie hat wie erwartet funktioniert. Das Beispiel sieht wie folgt aus (die Daten werden nur zur Veranschaulichung des heutigen Problems verwendet und das Tabellendesign ist nicht streng. Geben Sie mir bitte nicht die Schuld):SETZEN SIE FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Tabellenstruktur für mini_test_order -- ---------------------------- Tabelle löschen, wenn `mini_test_order` vorhanden ist; Tabelle „mini_test_order“ erstellen ( `id` int(11) NICHT NULL, `order_no` varchar(32) DEFAULT NULL COMMENT 'Bestellnummer', `user_id` int(11) DEFAULT NULL COMMENT 'Benutzer-ID', `shop_id` int(11) DEFAULT NULL COMMENT 'Händler-ID', `order_status` tinyint(1) DEFAULT NULL COMMENT 'Bestellstatus', `create_time` int(10) DEFAULT NULL COMMENT 'Erstellungszeit', PRIMÄRSCHLÜSSEL (`id`) )ENGINE=InnoDB STANDARD-CHARSET=utf8; -- ---------------------------- -- Aufzeichnungen der Mini-Testbestellung -- ---------------------------- INSERT INTO `mini_test_order` VALUES ('1', 'aaaaaaaaa', '11', '111', '1', '1573041313'); INSERT INTO `mini_test_order` VALUES ('2', 'bbbbbbbb', '11', '222', '1', '1573041313'); INSERT INTO `mini_test_order` VALUES ('3', 'cccccccccc', '11', '333', '2', '1573041313'); INSERT INTO `mini_test_order` VALUES ('4', 'dddddddd', '11', '222', '3', '1573041313'); INSERT INTO `mini_test_order` VALUES ('5', 'eeeeeeeeee', '11', '111', '4', '1573041313'); INSERT INTO `mini_test_order` VALUES ('6', 'ffffffffffffff', '11', '111', '3', '1573041313'); INSERT INTO `mini_test_order` VALUES ('7', 'gggggggg', '11', '222', '4', '1573041313'); INSERT INTO `mini_test_order` VALUES ('8', 'hhhhhhhhh', '11', '111', '4', '1573041313'); INSERT INTO `mini_test_order` VALUES ('9', 'iiiiiiiiiiiiiiiiiiiii', '11', '333', '3', '1573041313'); INSERT INTO `mini_test_order` VALUES ('10', 'jjjjjjjjjjjjjjjjjjjjjj', '11', '222', '1', '1573041313'); Die wichtigsten SQL-Anweisungen lauten wie folgt: Wählen Sie ANZAHL (FALL Bestellstatus, wenn 1, dann 1 Ende) als "Status 1", ANZAHL (FALL Bestellstatus, wenn 2, dann 1 Ende) als "Status 2", ANZAHL (FALL Bestellstatus, wenn 3, dann 1 Ende) als "Status 3", ANZAHL (FALL Bestellstatus, wenn 4, dann 1 Ende) als "Status 4" aus "Mini-Testbestellung"; oder wie folgt: WÄHLEN SIE ANZAHL (FALL, WENN Bestellstatus = 1, DANN 1 ENDE) ALS "Status 1", ANZAHL (FALL, WENN Bestellstatus = 2, DANN 1 ENDE) ALS "Status 2", ANZAHL (FALL, WENN Bestellstatus = 3, DANN 1 ENDE) ALS "Status 3", ANZAHL (FALL, WENN Bestellstatus = 4, DANN 1 ENDE) ALS "Status 4" AUS `mini_test_order`; Natürlich sind SQL-Anweisungen nicht auf die beiden oben genannten Methoden beschränkt. Wer gerne mehr erfahren möchte, kann gerne eine ergänzende Nachricht hinterlassen. Es gibt zwei Syntaxen für MySQL-Fall, wenn1. Einfache Funktionen CASE [Spaltenname] WHEN [Wert1] THEN [Ergebnis1]…ELSE [Standard] END 2. Suchfunktion CASE WHEN [Ausdruck] THEN [Ergebnis1]…ELSE [Standard] END Der Unterschied zwischen den beidenErsteres zählt alle möglichen Werte des Felds col_name auf, wenn der Wert die Bedingung value1 erfüllt; Letzterer kann Urteile schreiben, und die Suchfunktion gibt nur den ersten Wert zurück, der die Bedingungen erfüllt, andere Fälle werden ignoriert. Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur. Das könnte Sie auch interessieren:
|
<<: CSS zur Implementierung von Sprites und Schriftsymbolen
>>: Zusammenfassung der Probleme bei der Speicherplatzfreigabe unter Linux
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Mischen Mixin-Hinweis (doppelt...
Code kopieren Der Code lautet wie folgt: <HTML...
1. Laden Sie das Axios-Plugin herunter cnpm insta...
Es gibt viele Gründe, warum eine Anwendung langsa...
Einführung: Lambda Probe (früher bekannt als Tomc...
Inhaltsverzeichnis Lokales Mixin Globale Mixins Z...
Die Paginierungskomponente ist eine häufige Kompo...
Dieser Artikel richtet sich hauptsächlich an diej...
Durch Aktivieren der Papierkorbfunktion können Si...
Im Vorstellungsgespräch sollten Sie folgende Szen...
Technischer Hintergrund Latex ist ein unverzichtb...
Inhaltsverzeichnis 1. Was ist eine Unterabfrage? ...
1. Dynamische Abfrageregeln Die dynamischen Abfra...
Inhaltsverzeichnis Geschäftslogik Datentabellenst...