Heim Datenbank Oracle So implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle

So implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle

Jan 25, 2022 pm 05:23 PM
oracle

Methoden zum Implementieren der Zeilen-Spalten-Konvertierung: 1. Verwenden Sie die Funktion PIVOT(), um die Zeilen-in-Spalten-Konvertierung mit der Syntax „SELECT * FROM (data set) PIVOT (SUM(Score) FOR coursename IN (konvertierte Spalte) zu implementieren value))"; 2. Verwenden Sie die Funktion unpivot(), um den Spaltenwechsel zu realisieren.

So implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.

Oracle-Zeile in Spalte

Oracle-Zeile in Spalte konvertiert den Wert eines bestimmten Felds als eindeutigen Wert und konvertiert dann den Zeilenwert eines anderen Felds in seinen Spaltenwert. Hier verwenden wir immer noch die Bewertungstabelle der Schüler unseres Systems als Beispiel. Die Datensätze (Zeilen) der Bewertungstabelle entsprechen den Bewertungen jedes Schülers in jedem Fach. Anschließend müssen wir einen Bericht erstellen, der alle Fächer jedes Schülers als Ganzes anzeigt Spalte. Leistungsinformationen. Die Falldaten lauten wie folgt:

So implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle

Wie erreichen wir das? Hier sind mehrere Methoden nacheinander:

1. Zunächst müssen wir darüber nachdenken, dass es möglich sein sollte, die Oracle-Gruppierung (Gruppierung nach) zu verwenden:

select c.stuname,
       --利用分组聚合函数       sum(decode(b.coursename, '英语(2018上学期)', t.score, 0)) as "英语(2018上学期)",
       sum(decode(b.coursename, '数学(2018上学期)', t.score, 0)) as "英语(2018上学期)",
       sum(decode(b.coursename, '语文(2018上学期)', t.score, 0)) as "英语(2018上学期)"  from STUDENT.SCORE t, student.course b, student.stuinfo c
 where t.courseid = b.courseid
   and t.stuid = c.stuid
 group by c.stuname
Nach dem Login kopieren

Wir verwenden Gruppe nach, um Schüler zu gruppieren , und verwenden Sie dann die Dekodierung, um den Notenwert des entsprechenden Kurses zu gruppieren, und summieren Sie ihn dann, um den Ergebniswert der Note zu erhalten. Das Ergebnis ist wie folgt:

So implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle

2 -in-Funktion PIVOT, die diese Zeile-zu-Spalte-Anforderung perfekt lösen kann, ist die spezifische Syntaxstruktur wie folgt:

SELECT * FROM (数据查询集)PIVOT 
(
 SUM(Score/*行转列后 列的值*/) FOR 
 coursename/*需要行转列的列*/ IN (转换后列的值)
)
Nach dem Login kopieren

Der spezifische Code lautet wie folgt:

select * from  (select c.stuname,
       b.coursename,
       t.score
  from STUDENT.SCORE t, student.course b, student.stuinfo c
 where t.courseid = b.courseid
   and t.stuid = c.stuid )  /*数据源*/PIVOT 
(
 SUM(score/*行转列后 列的值*/) 
 FOR coursename/*需要行转列的列*/ IN ('英语(2018上学期)' as 英语,'数学(2018上学期)' as 数学,'语文(2018上学期)' as 语文 )
) ;
Nach dem Login kopieren

Das Ergebnis ist wie folgt:

So implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle

Oracle-Spaltenzeilenkonvertierung

Oracle-Spaltenzeilenkonvertierung besteht darin, die Felder der Spalten in einer Zeile entsprechend dem eindeutigen Wert der Zeile zu ändern. In mehrere Datenzeilen konvertieren. Beispielsweise handelt es sich bei den Basisdaten der Schüler-Bewertungstabelle in der Oracle-Zeile bis -Spalte oben um einen Datensatz, der der Fachnote eines Schülers entspricht. Dann haben wir die Zeilen in Spalten umgewandelt und daraus einen Datensatz erstellt, der den Ergebnissen eines Schülers in jeder Spalte entspricht (Mathematik, Englisch, Chinesisch). In diesem Artikel geht es also darum, die zuvor konvertierte Schülerbewertungstabelle (Sicherungstabelle score_copy) erneut in Spalten und Zeilen umzuwandeln und in Originaldaten umzuwandeln. Die Falldaten lauten wie folgt:

So implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle

So implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle

Wie implementieren wir also die Spaltenumschaltung? Im Folgenden werden zwei häufig verwendete Methoden vorgestellt:

1. Verwenden Sie Union All zum Spleißen, wodurch die entsprechenden Spalten perfekt in Zeilendatensätze umgewandelt werden können. Der spezifische Code lautet wie folgt:

select t.stuname, '英语' as coursename ,t.英语 as score  from SCORE_COPY t
union all
select t.stuname, '数学' as coursename ,t.数学 as score  from SCORE_COPY t
union all
select t.stuname, '语文' as coursename ,t.语文 as score  from SCORE_COPY t
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

So implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle

2. Oracle automatisch verwenden Die Spalten-zu-Zeilen-Funktion Unpivot kann dieses Problem ebenfalls perfekt lösen. Die spezifische Syntaxstruktur lautet wie folgt:

select 字段 from 数据集
unpivot(自定义列名/*列的值*/ for 自定义列名 in(列名))
Nach dem Login kopieren

Der Implementierungscode lautet wie folgt:

select stuname, coursename ,score from
score_copy  t
unpivot
(score for coursename in (英语,数学,语文))
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

So implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle

Empfohlenes Tutorial: „Oracle Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Zeilen-Spalten-Konvertierung in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So überprüfen Sie die Tabellenraumgröße von Oracle So überprüfen Sie die Tabellenraumgröße von Oracle Apr 11, 2025 pm 08:15 PM

Um die Oracle -Tablespace -Größe abzufragen, führen Sie die folgenden Schritte aus: Bestimmen Sie den Namen Tablespace, indem Sie die Abfrage ausführen: Wählen Sie Tablespace_Name aus dba_tablespaces. Abfragen Sie die Tablespace -Größe durch Ausführen der Abfrage: Summe (Bytes) als Total_Size, sum (bytes_free) als verfügbare_space, sum

So verschlüsseln Sie die Oracle -Ansicht So verschlüsseln Sie die Oracle -Ansicht Apr 11, 2025 pm 08:30 PM

Mit der Verschlüsselung von Oracle View können Sie Daten in der Ansicht verschlüsseln und so die Sicherheit sensibler Informationen verbessern. Die Schritte umfassen: 1) Erstellen des Master -Verschlüsselungsschlüssels (MEK); 2) Erstellen einer verschlüsselten Ansicht, der Ansicht und der Verschlüsselung der Ansicht und der MEK angeben; 3) Benutzern Sie die Benutzer, auf die verschlüsselte Ansicht zuzugreifen. Wie verschlüsselte Ansichten funktionieren: Wenn ein Benutzer nach einer verschlüsselten Ansicht nachgefragt wird, verwendet Oracle MEK, um Daten zu entschlüsseln und sicherzustellen, dass nur autorisierte Benutzer auf lesbare Daten zugreifen können.

So sehen Sie den Instanznamen von Oracle So sehen Sie den Instanznamen von Oracle Apr 11, 2025 pm 08:18 PM

Es gibt drei Möglichkeiten, Instanznamen in Oracle anzuzeigen: Verwenden Sie den "SQLPLUS" und "Instance_name aus v $ Instance". Befehle in der Befehlszeile. Verwenden Sie den "show Instance_name;" Befehl in SQL*Plus. Überprüfen Sie die Umgebungsvariablen (Oracle_sid unter Linux) über den Task -Manager des Betriebssystems, den Oracle Enterprise Manager oder über das Betriebssystem.

Wie man die Oracle -Installation deinstalliert Wie man die Oracle -Installation deinstalliert Apr 11, 2025 pm 08:24 PM

Deinstallieren Sie die Methode für Oracle -Installationsfehler: Schließen Sie den Oracle -Service, löschen Sie Oracle -Programmdateien und Registrierungsschlüssel, Deinstallieren Sie Oracle -Umgebungsvariablen und starten Sie den Computer neu. Wenn das Deinstall fehlschlägt, können Sie das Oracle Universal Deinstall -Tool manuell deinstallieren.

So importieren Sie die Oracle -Datenbank So importieren Sie die Oracle -Datenbank Apr 11, 2025 pm 08:06 PM

Datenimportmethode: 1. Verwenden Sie das SQLLoader -Dienstprogramm: Datendateien vorbereiten, Steuerdateien erstellen und SQLLOADER ausführen. 2. Verwenden Sie das IMP/Exp -Tool: Daten exportieren, Daten importieren. Tipp: 1. Empfohlener SQL*Loader für Big -Data -Sets; 2. Die Zieltabelle sollte vorhanden und die Spaltendefinition entspricht. 3. Nach dem Import muss die Datenintegrität überprüft werden.

Wie man Zeit in Oracle bekommt Wie man Zeit in Oracle bekommt Apr 11, 2025 pm 08:09 PM

Es gibt die folgenden Methoden, um Zeit in Oracle zu bekommen: current_timestamp: Gibt die aktuelle Systemzeit genau auf Sekunden zurück. SYSTIMESTAMP: genauer als Current_Timestamp, für Nanosekunden. SYSDATE: Gibt das aktuelle Systemdatum mit Ausnahme des Zeitteils zurück. To_char (sysdate, 'yyy-mm-dd hh24: mi: ss'): konvertiert das aktuelle Systemdatum und die Uhrzeit in ein bestimmtes Format. Extrakt: Extrahiert einen bestimmten Teil aus einem Zeitwert wie einem Jahr, Monat oder Stunde.

So richten Sie Benutzer von Oracle ein So richten Sie Benutzer von Oracle ein Apr 11, 2025 pm 08:21 PM

Befolgen Sie die folgenden Schritte, um einen Benutzer in Oracle zu erstellen: Erstellen Sie einen neuen Benutzer mit der Erstellung der Benutzeranweisung. Gewähren Sie die erforderlichen Berechtigungen mit der Zuschusserklärung. Optional: Verwenden Sie die Ressourcenanweisung, um das Kontingent festzulegen. Konfigurieren Sie andere Optionen wie Standardrollen und temporäre Tabellenspaces.

So erstellen Sie Oracle Dynamic SQL So erstellen Sie Oracle Dynamic SQL Apr 12, 2025 am 06:06 AM

SQL -Anweisungen können basierend auf der Laufzeiteingabe erstellt und ausgeführt werden, indem die dynamische SQL von Oracle verwendet wird. Zu den Schritten gehören: Vorbereitung einer leeren Zeichenfolgenvariable zum Speichern von dynamisch generierten SQL -Anweisungen. Verwenden Sie die sofortige Ausführung oder Vorbereitung, um dynamische SQL -Anweisungen zu kompilieren und auszuführen. Verwenden Sie die Bind -Variable, um die Benutzereingabe oder andere dynamische Werte an dynamische SQL zu übergeben. Verwenden Sie sofortige Ausführung oder führen Sie aus, um dynamische SQL -Anweisungen auszuführen.

See all articles