使用 MySQL GROUP BY 透視查詢結果
在關聯式資料庫中,透視資料是指重新排列行和列以增強資料視覺化。在這裡,我們面臨一個常見的挑戰:使用 GROUP BY 將資料從基於行的資料轉換為基於列的資料。
查詢
要透視數據,我們可以使用 GROUP BY 子句以及條件聚合函數,例如 SUM 或 CASE。讓我們考慮以下查詢:
<br>SELECT<br> d.data_timestamp,<br> SUM(CASE WHEN data_id = 1 THEN data_value ELSE 0 END) AS 'input_1',FROM<br> 資料<br>GROUP BY<br> d.data_timestamp<br>ORDER BY ABY
查詢從資料表中擷取唯一的data_timestamp 值,並依data_timestamp 將結果分組。
MySQL 也提供了旋轉資料的替代方法。這些方法包括使用 IF() 函數或多層連接。
IF() 函數
SELECT
d. data_timestamp, SUM(IF(data_id = 1, data_valuestamp, SUM(IF(data_id = 2, data_value, 0)) AS 'input_2'
FROM
資料
GROUP BY
d.data_prostamp BY
d.data_timestamp ASC;
多層次連接
<time>SELECT<time> d._Samp ,<strong> d01.data_value AS 'input_1',</strong> d02.data_value AS 'input_2'FROM<p> (<br><br><br>) ASFT🎜> (<br><br><br>) ASFT</p>資料AS d01<pre class="brush:php;toolbar:false">SELECT DISTINCT d.data_timestamp FROM dataON
d01.data_timestamp = d .data_timestamp AND d01.data_id = 1
LEFT JOIN
資料AS d02
ON
dtimed. .data_id = 2
ORDER BY
d.data_timestamp ASC;
以上是如何使用 GROUP BY 在 MySQL 中透視資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!