Heim > Datenbank > MySQL-Tutorial > Wie berechnet man bedingte Summen innerhalb einer gruppierten SQL-Abfrage (MSSQL)?

Wie berechnet man bedingte Summen innerhalb einer gruppierten SQL-Abfrage (MSSQL)?

Patricia Arquette
Freigeben: 2025-01-08 06:48:40
Original
829 Leute haben es durchsucht

How to Calculate Conditional Sums within a Grouped SQL Query (MSSQL)?

Bedingte Summierung in Group By-Abfragen verwenden – MSSQL

Freddie benötigt eine SQL-Abfrage, um Tabellendaten basierend auf bestimmten Kriterien zusammenzufassen. Die ursprüngliche Tabelle „OrderDetails“ enthält vier Spalten, die die mit einer bestimmten Bestellung (OrderId) verbundenen Kosten darstellen. Das Ziel besteht darin, eine neue Tabelle mit fünf Spalten zu erstellen: OrderId, ItemCount, TotalCopyCost und TotalFullPrice.

Um das gewünschte Ergebnis zu erhalten, wird eine Kombination aus Group By- und CASE-Anweisungen verwendet. Group By wird verwendet, um die Daten nach OrderId zu gruppieren, während die CASE-Anweisung die CopyCost- und FullPrice-Werte basierend auf der PriceType-Spalte bedingt summiert:

<code class="language-sql">SELECT OrderId, 
       COUNT(*) AS ItemCount,
       SUM(CASE WHEN PriceType = 'CopyCost' THEN Price ELSE 0 END) AS TotalCopyCost,
       SUM(CASE WHEN PriceType = 'FullPrice' THEN Price ELSE 0 END) AS TotalFullPrice
  FROM OrderDetails
 GROUP BY OrderId;</code>
Nach dem Login kopieren

Diese Abfrage gruppiert die OrderDetails-Tabelle effektiv nach OrderId, zählt die Anzahl der Elemente in jeder Gruppe und summiert bedingt die CopyCost- und FullPrice-Werte für jede Gruppe, was zu einer neuen Tabelle mit dem gewünschten Schema führt.

Das obige ist der detaillierte Inhalt vonWie berechnet man bedingte Summen innerhalb einer gruppierten SQL-Abfrage (MSSQL)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage