generieren pivot-tabellähnliche Ergebnisse in MySQL
Dieser Artikel zeigt, wie man einen Pivot -Tabelleneffekt in MySQL mit SQL erstellt. Ziel ist es, Daten zusammenzufassen, nach Firmennamen zu gruppieren und Zählungen für verschiedene Aktionen und Seitenzahlen anzuzeigen.
Verständnis von Pivot -Tabellen
Eine Pivot -Tabelle verwandelt Daten in einen Zusammenfassungsbericht. Zeilen stellen Kategorien dar (hier, Firmennamen), während Spalten die analysierten Metriken darstellen (Aktionen und Seitenzahlen).
Der unkomplizierteste Ansatz verwendet
Anweisungen in einer 🎜> -Aggregat -Funktion, die nach Firmennamen gruppiert ist. Hier ist eine Beispielanfrage:
CASE
COUNT
<code class="language-sql">SELECT P.company_name, COUNT(CASE WHEN P.action = 'EMAIL' THEN 1 END) AS EMAIL, COUNT(CASE WHEN P.action = 'PRINT' AND P.pagecount = 1 THEN 1 END) AS 'PRINT 1 pages', COUNT(CASE WHEN P.action = 'PRINT' AND P.pagecount = 2 THEN 1 END) AS 'PRINT 2 pages', COUNT(CASE WHEN P.action = 'PRINT' AND P.pagecount = 3 THEN 1 END) AS 'PRINT 3 pages' FROM P GROUP BY P.company_name;</code>
Anweisungen zählen das Auftreten spezifischer Aktionen und Seitenzahlen bedingt.
CASE
aggregiert die Ergebnisse für jede Bedingung. COUNT
gruppiert die Ergebnisse nach GROUP BY
company_name
Diese Methode erfordert die manuelle Definition jeder Bedingung, sodass sie für viele Aktionen oder Seitenzahlen umständlich ist. Fortgeschrittene Techniken wie vorbereitete Aussagen oder gespeicherte Verfahren bieten eine bessere Skalierbarkeit für größere Datensätze.
Weitere Lesen:
Für ausgefeiltere Pivot -Tabellenlösungen in MySQL untersuchen Sie diese Ressourcen:
Mysql Pivot Table Tutorial
Das obige ist der detaillierte Inhalt vonWie kann ich mit SQL eine pivot-Tabellenausgabe in MySQL erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!