Heim > Datenbank > MySQL-Tutorial > Wie erstelle ich Pivot-Tabellen in MySQL mit CASE-Anweisungen und GROUP BY?

Wie erstelle ich Pivot-Tabellen in MySQL mit CASE-Anweisungen und GROUP BY?

Susan Sarandon
Freigeben: 2025-01-25 20:35:09
Original
943 Leute haben es durchsucht

How to Create Pivot Tables in MySQL Using CASE Statements and GROUP BY?

Pivot-Tabellen in MySQL generieren: Eine Anleitung

Pivot-Tabellen sind für die Datenzusammenfassung von unschätzbarem Wert, da sie es Ihnen ermöglichen, Daten über mehrere Dimensionen hinweg zu aggregieren. Diese Anleitung zeigt, wie Sie Pivot-Tabellen in MySQL mithilfe von CASE-Anweisungen und GROUP BY.

erstellen

Anschauliches Beispiel:

Betrachten Sie diese Beispiel-MySQL-Tabelle:

company_name action pagecount
Company A PRINT 3
Company A PRINT 2
Company A PRINT 3
Company B EMAIL NULL
Company B PRINT 2
Company B PRINT 2
Company B PRINT 1
Company A PRINT 3

Die folgende SQL-Abfrage erstellt aus diesen Daten eine Pivot-Tabelle:

<code class="language-sql">SELECT
  P.`company_name`,
  COUNT(CASE WHEN P.`action` = 'EMAIL' THEN 1 ELSE NULL END) AS 'EMAIL',
  COUNT(CASE WHEN P.`action` = 'PRINT' AND P.`pagecount` = '1' THEN P.`pagecount` ELSE NULL END) AS 'PRINT 1 pages',
  COUNT(CASE WHEN P.`action` = 'PRINT' AND P.`pagecount` = '2' THEN P.`pagecount` ELSE NULL END) AS 'PRINT 2 pages',
  COUNT(CASE WHEN P.`action` = 'PRINT' AND P.`pagecount` = '3' THEN P.`pagecount` ELSE NULL END) AS 'PRINT 3 pages'
FROM
  test_pivot P
GROUP BY
  P.`company_name`;</code>
Nach dem Login kopieren

Diese Abfrage ergibt die folgende Pivot-Tabelle:

company_name EMAIL PRINT 1 pages PRINT 2 pages PRINT 3 pages
CompanyA 0 0 1 3
CompanyB 1 1 2 0

Weiteres Lernen:

Für ein tieferes Verständnis der MySQL-Pivot-Tabellen erkunden Sie diese Ressourcen:

Das obige ist der detaillierte Inhalt vonWie erstelle ich Pivot-Tabellen in MySQL mit CASE-Anweisungen und GROUP BY?. 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