Pivotieren von Abfrageergebnissen mit GROUP BY in MySQL
Durch die Umstrukturierung von Daten von Zeilen in Spalten kann das Pivotieren dazu beitragen, die Datenvisualisierung und -analyse zu verbessern. Um Abfrageergebnisse basierend auf einer bestimmten Spalte zu Pivotieren, können wir die GROUP BY-Klausel in MySQL verwenden.
Betrachten Sie eine Beispieltabelle mit dem folgenden Schema:
data_id data_timestamp data_value -------------------------------------------- 1 2011-07-07 00:01:00 0.400 1 2011-07-07 00:02:00 0.500 1 2011-07-07 00:03:00 0.600 1 2011-07-07 00:04:00 0.700 2 2011-07-07 00:01:00 0.100 2 2011-07-07 00:02:00 0.200 2 2011-07-07 00:03:00 0.250 2 2011-07-07 00:04:00 2.300
Zur Pivotierung dieser Daten basierend auf Für die Spalte „data_timestamp“ können wir eine Kombination aus der CASE-Anweisung und der Aggregatfunktion SUM verwenden:
SELECT d.data_timestamp , SUM( CASE WHEN data_id = 1 THEN data_value ELSE 0 END ) AS 'input_1' , SUM( CASE WHEN data_id = 2 THEN data_value ELSE 0 END ) AS 'input_2' FROM data GROUP BY data_timestamp ORDER BY data_timestamp ASC
Diese Abfrage fasst effektiv die Spalte „data_value“ für jeden eindeutigen data_timestamp zusammen und erstellt neue Spalten für jede eindeutige data_id (in diesem case, input_1 und input_2).
Alternativ können wir auch die IF-Anweisung verwenden, um das gleiche Ergebnis zu erzielen:
SELECT d.data_timestamp , SUM( IF(data_id = 1, data_value, 0) ) AS 'input_1' , SUM( IF(data_id = 2, data_value, 0) ) AS 'input_2' FROM data GROUP BY data_timestamp ORDER BY data_timestamp ASC
Beide Methoden bieten eine effektive Möglichkeit, Abfrageergebnisse mit zu Pivotieren die GROUP BY-Klausel in MySQL, die eine flexiblere und informativere Datenanalyse ermöglicht.
Das obige ist der detaillierte Inhalt vonWie kann ich Abfrageergebnisse in MySQL mithilfe der GROUP BY-Klausel schwenken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!