Heim > Datenbank > MySQL-Tutorial > Wie kann ich in MySQL Zeilen in Spalten umwandeln?

Wie kann ich in MySQL Zeilen in Spalten umwandeln?

Mary-Kate Olsen
Freigeben: 2025-01-25 11:42:11
Original
287 Leute haben es durchsucht

How to Pivot Rows into Columns in MySQL?

MySQL Data Tabelle Rechnungen ändern detaillierte Erläuterung

Einführung

Die Datentabelle repräsentiert den Beobachtungswert und die Spalten in der Datentabelle, um die Daten des Attributs in eine Liste des Beobachtungswerts zu verwandeln. In diesem Artikel wird nach und nach erklären, wie diese Konvertierung in MySQL erreicht werden kann.

Schritt 1: Wählen Sie die Zielspalte

aus

Es wird festgelegt, dass der y -Wert (Ergebniszeile) und X -Wert (Ergebnis Tabelle) in der Zielperspektivtabelle bestimmt werden. In diesem Beispiel wird "hostID" als Wert verwendet, und "itemName" wird als X -Wert verwendet.

Schritt 2: Erweitern Sie die grundlegende Tabelle, um zusätzliche

hinzuzufügen

Fügen Sie den Grundlagen für jeden X -Wert eine neue Liste hinzu. Anwendungsfallausdrücke, um diese Spalten basierend auf ElementName in den entsprechenden Artikelwert zu füllen.

Schritt 3: Die Paket- und Aggregationserweiterungstabelle

Die Erweiterungstabelle ist gemäß der Spalte von Y -Wert gepackt und die X -Wert -Spalte ist mit geeigneten Funktionen (z. B. Summe) aggregiert.

Schritt 4: verschönern (optional)

Ein Austausch eines beliebigen Nullwerts in der Polymerisationstabelle durch den ausgewählten neutralen Wert (z. B. 0), um ein klareres Ergebnis des visuellen Ergebniss zu erzielen.

Beispiel

Betrachten Sie die folgende Grundtabelle:

Erstellen Sie eine Perspektiventabelle

hostid itemname itemvalue
1 A 10
1 B 3
2 A 9
2 C 40

Ergebnisse

<code class="language-sql">-- 步骤 1:选择目标列
SELECT hostid, itemname, itemvalue
FROM history;

-- 步骤 2:扩展基础表添加额外列
CREATE VIEW history_extended AS
SELECT
  history.*,
  CASE WHEN itemname = "A" THEN itemvalue END AS A,
  CASE WHEN itemname = "B" THEN itemvalue END AS B,
  CASE WHEN itemname = "C" THEN itemvalue END AS C
FROM history;

-- 步骤 3:分组和聚合扩展表
CREATE VIEW history_itemvalue_pivot AS
SELECT
  hostid,
  SUM(A) AS A,
  SUM(B) AS B,
  SUM(C) AS C
FROM history_extended
GROUP BY hostid;

-- 步骤 4:美化
CREATE VIEW history_itemvalue_pivot_pretty AS
SELECT 
  hostid, 
  COALESCE(A, 0) AS A, 
  COALESCE(B, 0) AS B, 
  COALESCE(C, 0) AS C 
FROM history_itemvalue_pivot;

-- 最终结果
SELECT *
FROM history_itemvalue_pivot_pretty;</code>
Nach dem Login kopieren
Dieses Beispiel zeigt, wie die Tabelle in MySQL effektiv umgebaut werden kann, um die Zeile in Spalten umzuwandeln.

Das obige ist der detaillierte Inhalt vonWie kann ich in MySQL Zeilen in Spalten umwandeln?. 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