Heim > Datenbank > MySQL-Tutorial > Wie führt man Berechnungen mithilfe berechneter Spalten in PostgreSQL-Abfragen korrekt durch?

Wie führt man Berechnungen mithilfe berechneter Spalten in PostgreSQL-Abfragen korrekt durch?

Barbara Streisand
Freigeben: 2025-01-14 07:14:43
Original
279 Leute haben es durchsucht

How to Correctly Perform Calculations Using Calculated Columns in PostgreSQL Queries?

Berechnete Spalten in PostgreSQL-Abfragen korrekt für Berechnungen verwenden

Bei der Verarbeitung von Daten in PostgreSQL müssen Sie häufig Berechnungen für Spalten durchführen, um neue Informationen abzuleiten. Aus diesem Grund bietet PostgreSQL die Funktionalität zum Erstellen berechneter Spalten, die als Teil derselben Abfrage verwendet werden können, die sie erstellt.

Problem: Falsche SQL-Syntax

Betrachten Sie die folgende SQL-Anweisung, die in anderen Datenbankverwaltungssystemen (DBMS) funktioniert, in PostgreSQL jedoch fehlschlägt:

<code class="language-sql">select cost_1, quantity_1, cost_2, quantity_2, 
      (cost_1 * quantity_1) as total_1,
      (cost_2 * quantity_2) as total_2,
      (calculated total_1 + calculated total_2) as total_3
from data;</code>
Nach dem Login kopieren

PostgreSQL gibt einen Fehler aus, der besagt, dass die Spalten total_1 und total_2 nicht vorhanden sind.

Lösung: Schließen Sie die Abfrage in eine abgeleitete Tabelle ein

Um dieses Problem zu lösen, erfordert PostgreSQL, dass die SELECT-Anweisung in eine abgeleitete Tabelle eingeschlossen wird:

<code class="language-sql">select cost1,
       quantity_1,
       cost_2,
       quantity_2,
       total_1 + total_2 as total_3
from (
    select cost_1, 
           quantity_1, 
           cost_2, 
           quantity_2, 
           (cost_1 * quantity_1) as total_1,
           (cost_2 * quantity_2) as total_2
    from data
) t;</code>
Nach dem Login kopieren

Mit dieser Methode können Sie auf Spaltenaliase in der abgeleiteten Tabelle zugreifen, einschließlich der berechneten Spalten total_1 und total_2. Es verursacht keine Leistungseinbußen.

Notizen

Es ist erwähnenswert, dass unformatierte SQL-Anweisungen, die die direkte Verwendung berechneter Spalten in nachfolgenden Berechnungen ermöglichen, in PostgreSQL oder anderen DBMS nicht empfohlen werden. Dies kann zu Leistungsproblemen führen und die Abfrageoptimierung behindern.

Das obige ist der detaillierte Inhalt vonWie führt man Berechnungen mithilfe berechneter Spalten in PostgreSQL-Abfragen korrekt durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage