„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann eine einzelne SQL -Abfrage unterschiedliche Summen basierend auf mehreren Klauselbedingungen abrufen?

Wie kann eine einzelne SQL -Abfrage unterschiedliche Summen basierend auf mehreren Klauselbedingungen abrufen?

Veröffentlicht am 2025-01-29
Durchsuche:524

How Can a Single SQL Query Retrieve Distinct Sums Based on Multiple WHERE Clause Conditions?

Verwenden Sie mehrere, wobei Klauseln verschiedene Daten abrufen

In SQL können Sie mit der WHERE -Klausel eine bestimmte Zeile filtern, um die Methode von abgerufenen Daten aus der Tabelle anzupassen. Dieses Problem schlägt die Herausforderung vor, zwei verschiedene Datensätze aus derselben Tabelle zu extrahieren, und jeder Datensatz trifft unterschiedlich, wenn Klauseln.

Die Beispieltabelle "Transaktionen" speichert die Aufzeichnungen von Finanztransaktionen, die durch ID, Konto -ID, Budget -ID, Punkte und Transaktionstypen gekennzeichnet sind. Die Aufgabe besteht darin, die Summe der Verteilungsakkumulation jeder einzelnen Budget -ID und der Summe der Verteilungspunkte zu berechnen.

dafür kann es eine einzelne SQL -Abfrage konstruieren, die das notwendige dort kombiniert, wo Klauseln. Die folgende Abfrage erzielt das Ergebnis der Erforderlichen:

Wählen Sie Budget_id aus, Sum (Fall, wenn type = 'Allocation' dann sonst 0 Ende zeigt) wie zugewiesen, Sum Aus Transaktionen Gruppe von budget_id

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
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3