SQLite Pivot: Tukar format panjang kepada format lebar
Dalam SQLite, pivoting merujuk kepada menukar jadual yang disimpan dalam format panjang kepada format yang luas untuk analisis dan pemprosesan data yang lebih mudah. Ini amat berguna apabila bekerja dengan data yang mempunyai berbilang ukuran atau atribut setiap baris, kerana ia membolehkan kami memvisualisasikan data dalam cara yang lebih berstruktur dan boleh dibaca.
Untuk memutar data dalam SQLite, anda boleh menggunakan operasi JOIN digabungkan dengan ungkapan bersyarat atau gunakan pernyataan CASE dengan GROUP BY. Berikut ialah panduan terperinci untuk melengkapkan fluoroskopi menggunakan kedua-dua teknik:
Gunakan JOIN dan ungkapan bersyarat
Kaedah ini melibatkan penggunaan JOIN dan ungkapan bersyarat dengan fungsi SUM() untuk meringkaskan data bagi setiap lajur yang dikehendaki.
<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>
Gunakan pernyataan KES dan KUMPULAN OLEH
Pendekatan lain ialah menggunakan pernyataan KES dalam klausa GROUP BY. Teknik ini mengumpulkan baris mengikut lajur yang diperlukan dan mengira nilai agregat berdasarkan senario yang berbeza.
<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>
Kedua-dua kaedah boleh digunakan untuk memutar data dalam SQLite untuk memberikan anda format luas yang anda perlukan.
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Data Format Panjang ke Format Luas dalam SQLite Menggunakan JOINs atau Penyata KES?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!