SQLite 資料透視:將長格式轉換為寬格式
在 SQLite 中,資料透視是指將長格式儲存的表轉換為寬格式,以便更輕鬆地進行資料分析和處理。當處理每行具有多個測量值或屬性的資料時,這尤其有用,因為它使我們能夠以更結構化和可讀的方式視覺化資料。
要透視 SQLite 中的數據,您可以使用 JOIN 操作結合條件表達式,或使用帶有 GROUP BY 的 CASE 語句。以下是使用這兩種技術完成透視的詳細指南:
使用 JOIN 和條件式
此方法涉及使用 JOIN 和條件表達式以及 SUM() 函數來匯總每個所需列的資料。
<code class="language-sql">select u.stuid, u.name, s3.marks as subjectid_3, s4.marks as subjectid_4, s5.marks as subjectid_5 from student_info u left outer join markdetails s3 on u.stuid = s3.stuid and s3.subjectid = 3 left outer join markdetails s4 on u.stuid = s4.stuid and s4.subjectid = 4 left outer join markdetails s5 on u.stuid = s5.stuid and s5.subjectid = 5;</code>
使用 CASE 語句和 GROUP BY
另一個方法是在 GROUP BY 子句中使用 CASE 語句。此技術按必要的列對行進行分組,並根據不同的情況計算聚合值。
<code class="language-sql">select si.studid, si.name, sum(case when md.subjectid = 3 then md.marks end) subjectid_3, sum(case when md.subjectid = 4 then md.marks end) subjectid_4, sum(case when md.subjectid = 5 then md.marks end) subjectid_5 from student_info si join markdetails md on md.studid = si.studid group by si.studid, si.name;</code>
這兩種方法都可以用於透視 SQLite 中的數據,為您提供所需的寬格式。
以上是如何在 SQLite 中使用 JOIN 或 CASE 語句將長格式資料轉換為寬格式資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!