Inhaltsverzeichnis
Wie pivot funktioniert
Basis -Pivot -Syntax
Beispiel: Verwenden von Pivot
Verwenden von Pivot:
Ergebnis:
Wichtige Punkte, die sich erinnern sollten
Alternative: Bedingte Aggregation (Nicht-Pivot)
Wann man Pivot benutzt
Heim Datenbank SQL Was ist der Pivot -Operator in SQL Server und wie verwenden Sie ihn?

Was ist der Pivot -Operator in SQL Server und wie verwenden Sie ihn?

Aug 08, 2025 am 11:44 AM

Pivot in SQL Server verwandelt Zeilendaten in Spalten, indem sie Werte aggregieren und eindeutige Einträge aus einer Spalte in neue Spalten -Header rotieren, ideal zum Erstellen von Zusammenfassungsberichten. Es führt drei Operationen aus: Aggregation unter Verwendung von Funktionen wie Summe oder Anzahl, Gruppierung nach nicht pivotten Spalten und Drehung bestimmter Spaltenwerte in Spalten. Die grundlegende Syntax erfordert eine vordefinierte Liste von Werten in der In-Klausel, wodurch sie statisch und fallempfindlich ist, wobei Nulls für fehlende Kombinationen zurückgegeben werden. Beispielsweise wandelt die Verwendung von Pivot in einer Verkaufstabelle mit Produkten als Zeilenwerte (Apple, Banana) in Spalten um, die den Gesamtumsatz pro Verkäufer zeigen. Zu den wichtigsten Punkten gehört die Notwendigkeit von bekannten Pivot-Werten, potenzielle Leistungsabschreibungen im Vergleich zur bedingten Aggregation und die sauberere Syntax für feste Kategorien. Alternativ bietet eine bedingte Aggregation mit Fall und Gruppe nach mehr Flexibilität für dynamische Szenarien. Verwenden Sie Pivot, wenn Kategorien fest und bekannt sind, z. B. Monate oder Produkttypen, und betrachten Sie dynamische SQL für unbekannte oder ändernde Pivot -Werte.1. Pivot dreht die Zeilen mit Aggregation, Gruppierung und Rotation in Säulen.2. Es erfordert eine statische Liste bekannter Pivot -Werte in der in Abschnitt 3. Aggregation (z. B. Summe) wird auf numerische Daten angewendet, während kategoriale Daten in Spalten rotiert werden.4. Fehlende Kombinationen führen zu Nullwerten.5. Die bedingte Aggregation mit Fall kann als flexible Alternative verwendet werden.6. Pivot eignet sich am besten für feste, bekannte Kategorien in Berichtsszenarien.7. Dynamisches SQL wird empfohlen, wenn Pivot -Werte im Voraus nicht bekannt sind.

Was ist der Pivot -Operator in SQL Server und wie verwenden Sie ihn?

Der Pivot -Operator in SQL Server wird verwendet, um Daten aus Zeilen in Spalten umzuwandeln und eine Tabelle effektiv zu drehen, um Daten in einem lesbaren oder analytischen Format zusammenzufassen. Es wird üblicherweise verwendet, wenn Sie eindeutige Werte aus einer Spalte in mehrere Spalten in der Ausgabe konvertieren und Aggregationen (wie Summe, Graf, AVG) für zugehörige Daten durchführen möchten.

Was ist der Pivot -Operator in SQL Server und wie verwenden Sie ihn?

Dies ist besonders nützlich, um zusammenfassende Berichte zu erstellen, z. B. monatliche Verkaufszeilen in Spalten für jeden Monat.


Wie pivot funktioniert

Pivot führt drei Hauptvorgänge aus:

Was ist der Pivot -Operator in SQL Server und wie verwenden Sie ihn?
  1. Aggregation - Wendet eine Funktion wie SUM() oder COUNT() auf einer Spalte an.
  2. Gruppierung - Gruppiert die Daten nach einer oder mehreren Spalten (nicht explizit in der Pivot -Klausel angegeben, sondern abgeleitet).
  3. Rotation - Verwandelt eindeutige Werte aus einer bestimmten Spalte in neue Spaltenkopfzeile.

Basis -Pivot -Syntax

 Wählen Sie <nicht pivotte Spalte>,, 
       [Erste Spalte] als <spaltenname>, 
       [zweite Spalte] als <spaltenname>,
       ...
AUS 
    (Wählen Sie <spalten> aus <tabelle>) als Source_table
Drehzahl
(
    Aggregate_Function (<spalte zu Aggregat>)
    Für <Spalte zu Pivot> in ([erste Pivoting -Spalte], [zweite Pivoting -Spalte], ...)
) Als pivot_table;

Hinweis: Die Werte in der IN der Klausel müssen im Voraus bekannt und explizit aufgeführt sein.


Beispiel: Verwenden von Pivot

Angenommen, Sie haben einen Verkaufstabelle:

Was ist der Pivot -Operator in SQL Server und wie verwenden Sie ihn?
 Tischverkäufe erstellen (
    Verkäufer Nvarchar (50),
    Produkt nvarchar (50),
    Salessamount int
);

In Verkaufswerte einfügen
(&#39;Alice&#39;, &#39;Apple&#39;, 100),
(&#39;Alice&#39;, &#39;Banana&#39;, 150),
(&#39;Bob&#39;, &#39;Apple&#39;, 200),
(&#39;Bob&#39;, &#39;Banana&#39;, 100),
(&#39;Alice&#39;, &#39;Apple&#39;, 50);

Sie möchten den Gesamtumsatz pro Person mit Produkten als Spalten sehen.

Verwenden von Pivot:

 Wählen Sie Verkäufer, [Apple], [Banane]
AUS
(
    Wählen Sie Verkäufer, Produkt, SalesAMOUNT aus
    Aus dem Verkauf
) Als Quellzucht
Drehzahl
(
    Summe (Salessamount)
    Für Produkt in ([Apple], [Banane])
) Als verblüffbar;

Ergebnis:

Verkäufer Apfel Banane
Alice 150 150
Bob 200 100

Hier:

  • SalesPerson bleibt als Zeilenkennung.
  • Product ( Apple , Banana ) werden Säulenheader.
  • SUM(SalesAmount) wird für jede Kombination berechnet.

Wichtige Punkte, die sich erinnern sollten

  • Statische Liste erforderlich : Sie müssen die Werte kennen, auf die Sie sich drehen. Sie können keine neuen Werte dynamisch einfügen, ohne die Abfrage neu zu schreiben (es sei denn, die Verwendung von Dynamic SQL).
  • Fallempfindlichkeit : Spaltennamen in der IN Klausel sind abhängig von Ihrer Datenbankkollation Fallempfindlichkeit.
  • NULLS : Wenn keine Kombination vorhanden ist (z. B. Bob hat keine Orangen verkauft), kehrt sie NULL zurück.
  • Leistung : Pivot kann für einfache Fälle weniger effizient als die bedingte Aggregation sein, aber es ist sauberer und lesbarer.

Alternative: Bedingte Aggregation (Nicht-Pivot)

Sie können ähnliche Ergebnisse mit CASE und GROUP BY :

 WÄHLEN 
    Verkäufer,
    Summe (Fall, wenn product = &#39;Apple&#39; dann SalesSameount sonst 0 Ende) als Apple,
    Sum
Aus dem Verkauf
Gruppe von Verkäufer;

Dies ist flexibler für dynamische Szenarien und oft einfacher zu debuggen.


Wann man Pivot benutzt

  • Sie erstellen Berichte mit festen Kategorien (z. B. Monate, Produkttypen).
  • Sie bevorzugen sauberere Syntax gegenüber mehreren CASE .
  • Die unterschiedlichen Werte für die Drehung sind bekannt und begrenzt.

Für dynamische Szenarien (z. B. unbekannte Produktliste) sollten Sie dynamische SQL mit Pivot verwenden.


Grundsätzlich ist Pivot ein leistungsstarkes Tool zur Umgestaltung von Daten in SQL Server, wenn Sie Kategorien in Spalten umwandeln müssen. Es ist nicht immer das schnellste, aber es macht Anfragen lesbarer, wenn sie angemessen verwendet werden.

Das obige ist der detaillierte Inhalt vonWas ist der Pivot -Operator in SQL Server und wie verwenden Sie ihn?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1540
276
Edge Computing und SQL: Datenverarbeitung am Rande Edge Computing und SQL: Datenverarbeitung am Rande Jul 21, 2025 am 01:15 AM

Die Verwendung von SQL zum Verarbeiten von Daten in Edge -Computer -Szenarien wird wichtig, da es den Übertragungsdruck verringert und die Reaktion beschleunigt. Zu den Kerngründen gehören Datenverteilung, Latenzempfindlichkeit und begrenzte Ressourcen. Zu den Herausforderungen zählen Ressourcenbeschränkungen, verschiedene Datenformate, hohe Echtzeitanforderungen sowie komplexe Bereitstellungen und Wartung. Der Bereitstellungsprozess umfasst die Auswahl einer SQL -Engine, die für die Kante geeignet ist, auf Datenquellen zugreift, SQL -Skripte zu schreiben und Ergebnisse auszugeben. Zu den nützlichen Tipps gehören die Verwendung von Fensterfunktionen, Filterung und Abtastung, Vereinfachung verschachtelter Abfragen, die Verwendung von Speichertabellen und das Verbinden externer Datenquellen.

Prinzipien für relationale Datenbankdesign für SQL -Entwickler Prinzipien für relationale Datenbankdesign für SQL -Entwickler Jul 21, 2025 am 01:56 AM

Beim Entwerfen einer relationalen Datenbank sollten vier Schlüsselprinzipien befolgt werden. Verwenden Sie zunächst die primären und fremden Schlüsselbeschränkungen korrekt, um die Datenintegrität und die Assoziationsgenauigkeit sicherzustellen. Zweitens führen Sie ein standardisiertes Design angemessen durch, in der Regel die dritte Normalform (3NF), wodurch Redundanz beseitigt und die Datenkonsistenz sichergestellt wird. Drittens, um geeignete Indizes für gängige Abfragen zur Verbesserung der Abfrageleistung festzulegen, aber Über-Index zu vermeiden; Verwenden Sie schließlich konsistente Namensschwerpunkte und strukturelle Stile, um die Lesbarkeit und Wartbarkeit zu verbessern. Durch das Beherrschen dieser Prinzipien können Sie eine klare, effiziente und robuste Datenbankstruktur aufbauen.

SQL Serverless Computing -Optionen SQL Serverless Computing -Optionen Jul 27, 2025 am 03:07 AM

SQLServer selbst unterstützt keine serverlose Architektur, aber die Cloud -Plattform bietet eine ähnliche Lösung. Der serverlessSQL -Pool von Azure kann Datalake -Dateien direkt abfragen und basierend auf dem Ressourcenverbrauch berechnen. 2. Azurefunktionen in Kombination mit CosmosDB oder Blobstorage können eine leichte SQL -Verarbeitung realisieren. 3. Awsathena unterstützt Standard -SQL -Abfragen für S3 -Daten und die Gebühr basierend auf gescannten Daten. V. 5. Wenn Sie die SQLServer-Funktion verwenden müssen, können Sie den serverlosen Service-Free von Azuresqldatabase auswählen

Wie benenne ich eine Tabelle in SQL um? Wie benenne ich eine Tabelle in SQL um? Jul 21, 2025 am 02:19 AM

Die Änderung des Tabellennamens wird normalerweise in SQL unter Verwendung des Befehls umbenannten oder altertable implementiert. 1.MYSQL, Mariadb und andere Datenbanken verwenden die Nametableold_table_nametonew_table_name; Syntax unterstützt Stapeloperationen; 2. SQLSERVER benötigt die gespeicherte Prozedur von SP_Rename, und die Syntax ist execsp_rename'old_table_name ',' new_table_name '; 3.Postgresql verwendet AlterTableold_table_namerenametonew_table_name

Wie berechnen Sie den Unterschied zwischen zwei Daten in SQL? Wie berechnen Sie den Unterschied zwischen zwei Daten in SQL? Aug 02, 2025 pm 01:29 PM

Um die Differenz zwischen zwei Daten zu berechnen, müssen Sie die entsprechende Funktion gemäß dem Datenbanktyp auswählen: 1. Verwenden Sie datediff (), um den Tagesdifferenz in MySQL zu berechnen oder die Einheiten wie Stunde und Minute in TimeStampdiff () anzugeben. 2. Verwenden Sie datediff (DATE_PART, START_DATE, END_DATE) in SQLServer und geben Sie die Einheiten an; 3.. Verwenden Sie die direkte Subtraktion in PostgreSQL, um die Tagesdifferenz zu erhalten, oder verwenden Sie Extrakt (Tag aus der Zeit (...)), um genauere Intervalle zu erhalten. V. Achten Sie immer auf die Datumsbestellung

Mastering SQL für Business Intelligence Analytics Mastering SQL für Business Intelligence Analytics Jul 26, 2025 am 07:53 AM

Tomastersqlforbianalytics, StartByUntingandingbidatastructures-LikefactandDiMesionTables, ThenusStrategicaggregationenWithGroupByAndhaving, LeveragedateFunctionsForTime-basiertanalyse, und Dr.

Isolationsstufen in SQL Server: Lesen Sie engagiert, snapshot, serialisierbar Isolationsstufen in SQL Server: Lesen Sie engagiert, snapshot, serialisierbar Jul 21, 2025 am 12:35 AM

TheethreemainsqlserverisolationLevels-gelesen, snapshot und serialisierbar-Differzoncurrency und -Consistenz.1.LeadcommortdPreventsDirtyreadsButAllowsnon-RepeatableAndPhantomreads-Anbieter-Anbieter- und -Canuscresoreduc-Locks

SQL Cube und Rollup für mehrdimensionale Aggregation SQL Cube und Rollup für mehrdimensionale Aggregation Jul 29, 2025 am 12:28 AM

Cube wird verwendet, um die Aggregation aller Dimensionskombinationen zu erzeugen, die für die Analyse geeignet sind. Rollup wird allmählich auf hierarchischen Ebenen zusammengefasst und für Daten mit hierarchischen Beziehungen geeignet. Cube generiert nach Region, Produkt und Quartal insgesamt 8 Kombinationen, während Rollup nach Jahr, Monat und Tag eine Zusammenfassung von Jahr, Monat, Tag und anderen Ebenen erzeugt. Cube eignet sich zum Betrachten aller interdimensionalen Ergebnisse. Rollup eignet sich zum Anzeigen von Hierarchien. Beachten Sie, dass Cube dazu führen kann, dass das Ergebnis explodiert, und Rollup hängt von der Feldreihenfolge ab. Die Zusammenfassungszeile kann über die Funktion grupping () identifiziert werden, und die Gesamtzeile wird mit Koalesce genannt, um die Lesbarkeit zu verbessern.

See all articles