SQLite Pivot : Convertir le format long en format large
Dans SQLite, le pivotement fait référence à la conversion de tableaux stockés au format long en format large pour faciliter l'analyse et le traitement des données. Ceci est particulièrement utile lorsque vous travaillez avec des données comportant plusieurs mesures ou attributs par ligne, car cela nous permet de visualiser les données de manière plus structurée et plus lisible.
Pour faire pivoter les données dans SQLite, vous pouvez utiliser l'opération JOIN combinée avec des expressions conditionnelles, ou utiliser l'instruction CASE avec GROUP BY. Voici un guide détaillé pour réaliser la fluoroscopie en utilisant les deux techniques :
Utilisez JOIN et les expressions conditionnelles
Cette méthode implique d'utiliser JOIN et des expressions conditionnelles avec la fonction SUM() pour résumer les données pour chaque colonne souhaitée.
<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>
Utilisez l'instruction CASE et GROUP BY
Une autre approche consiste à utiliser une instruction CASE dans une clause GROUP BY. Cette technique regroupe les lignes par colonnes nécessaires et calcule les valeurs globales en fonction de différents scénarios.
<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>
Les deux méthodes peuvent être utilisées pour faire pivoter les données dans SQLite afin de vous offrir le format large dont vous avez besoin.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!