


Effizienter Datenabruf: Mehrere WHERE-Bedingungen geschickt kombinieren
Angenommen, Sie müssen Daten aus einer Tabelle basierend auf zwei verschiedenen Bedingungen abrufen. Stellen Sie sich beispielsweise eine Tabelle mit dem Namen „Transaktionen“ vor, die Finanztransaktionen aufzeichnet und Spalten wie „Konto-ID“, „Budget-ID“, „Punkte“ und „Typ“ enthält.
Um bestimmte Daten effizient aus dieser Tabelle abzurufen, müssen Sie möglicherweise mehrere WHERE-Klauseln kombinieren. Beispielsweise müssen Sie möglicherweise die Gesamtpunktzahl ermitteln, die für jede eindeutige „budget_id“ in der Tabelle zugewiesen und ausgegeben wird.
Idee abfragen
Die Abfrage, die Sie erstellen müssen, sollte etwa wie folgt aussehen:
SELECT budget_id, SUM(CASE WHEN type = 'allocation' THEN points ELSE 0 END) AS allocated, SUM(CASE WHEN type = 'issue' THEN points ELSE 0 END) AS issued FROM transactions GROUP BY budget_id
Lassen Sie uns in jede Komponente dieser Abfrage eintauchen, um zu verstehen, wie sie Ihre Ziele erreicht:
SUM(CASE WHEN ... THEN ... ELSE ... END)-Funktion:
Diese Funktion wird verwendet, um die Spalte „Punkte“ basierend auf dem angegebenen „Typ“ bedingt zu summieren. Wenn „Typ“ „Zuordnung“ ist, wird die Summe der „Punkte“ für alle Zeilen berechnet, die diese Bedingung erfüllen. Auf ähnliche Weise wird die Summe der „Punkte“ für Zeilen berechnet, bei denen „Typ“ gleich „Issue“ ist. (Hier wird die IF
-Funktion durch eine standardmäßigere CASE WHEN
ersetzt, um die Lesbarkeit und Kompatibilität des Codes zu verbessern)
GRUPPE NACH budget_id:
Diese Klausel gruppiert die abgerufenen Daten nach der Spalte „budget_id“. Daher stellt die Abfrage für jede eindeutige „budget_id“ in der Tabelle eine separate Ergebniszeile bereit.
Kombinationen von WHERE-Klauseln:
Die WHERE-Klausel fehlt in dieser Abfrage merklich, da die erforderliche Filterung innerhalb der SUM()-Funktion erfolgt. Insbesondere enthält die Funktion Bedingungen zum selektiven Einschließen von Zeilen basierend auf der Spalte „Typ“.
Erwartete Ausgabe:
Die von Ihnen erstellte Abfrage gibt eine Tabelle mit den Spalten „budget_id“, „allocated“ und „issued“ aus. Die Spalte „zugewiesen“ stellt die Summe der Punkte dar, die der Transaktion „Zuweisung“ jeder „Budget_ID“ zugeordnet sind, und die Spalte „Ausgegeben“ stellt die akkumulierten Punkte der Transaktion „Ausgabe“ der entsprechenden „Budget_ID“ dar.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere WHERE-Klausel-ähnliche Bedingungen in einer einzigen SQL-Abfrage effizient kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

In Artikeln werden ausländische Schlüssel zur Darstellung von Beziehungen in Datenbanken erörtert, die sich auf Best Practices, Datenintegrität und gemeinsame Fallstricke konzentrieren.

In dem Artikel werden in verschiedenen Datenbanken wie PostgreSQL, MySQL und MongoDB Indizes für JSON -Spalten in verschiedenen Datenbanken erstellt, um die Abfrageleistung zu verbessern. Es erläutert die Syntax und die Vorteile der Indizierung spezifischer JSON -Pfade und listet unterstützte Datenbanksysteme auf.

Artikel erläutert die Sicherung von MySQL gegen SQL-Injektions- und Brute-Force-Angriffe unter Verwendung vorbereiteter Aussagen, Eingabevalidierung und starken Kennwortrichtlinien (159 Zeichen).


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Dreamweaver Mac
Visuelle Webentwicklungstools

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Dreamweaver CS6
Visuelle Webentwicklungstools

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version