Heim >Datenbank >MySQL-Tutorial >Wie kann ich berechnete Felder in MySQL-SELECT-Abfragen wiederverwenden, um die Lesbarkeit zu verbessern und Wiederholungen zu vermeiden?

Wie kann ich berechnete Felder in MySQL-SELECT-Abfragen wiederverwenden, um die Lesbarkeit zu verbessern und Wiederholungen zu vermeiden?

Barbara Streisand
Barbara StreisandOriginal
2025-01-24 12:12:10998Durchsuche

How Can I Reuse Calculated Fields in MySQL SELECT Queries to Improve Readability and Avoid Repetition?

Wiederverwenden Sie das Berechnungsfeld in der MySQL -Abfrage

erneut aus Wenn Sie sich mit großen, komplexen SQL -Abfragen befassen, werden Berechnungsfelder wiederverwendet, um die Duplikation zu vermeiden und die Lesbarkeit zu verbessern. In MySQL können Benutzervariablen verwendet werden, um diesen Zweck zu erreichen.

Betrachten Sie das folgende Beispiel:

Diese Abfrage versucht, das Berechnungsfeld Total_Sale im Ausdruck F1_percent wiederzuverwenden. MySQL gibt jedoch den Fehler "Unbekannter Liste" zurück, da Total_Sale nicht in der Verkaufstabelle enthalten ist.
<code class="language-sql">SELECT 
    s.f1 + s.f2 as total_sale, 
    s.f1 / total_sale as f1_percent
FROM sales s</code>

Um dieses Problem zu lösen, können wir verwenden: = Das Berechnungssymbol gibt der Benutzervariablen den Berechnungswert an:

Durch Add@SELECT @total_sale := s.f1 + s.f2 as total_sale, s.f1 / @total_sale as f1_percent FROM sales s

Es ist zu beachten, dass diese Methode, obwohl wir es uns ermöglichen, das Berechnungsfeld wiederzuverwenden, aber auch einige Orte, die aufmerksam sind. Gemäß dem MySQL -Dokument ist der Wert der Zuordnung und Lesen der Benutzervariablen in derselben Anweisung ein unblätterbares Verhalten, das unerwartete Ergebnisse erzielen kann. Daher wird empfohlen, diese Technologie sorgfältig einzusetzen und bei Bedarf nur bei Bedarf zu verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich berechnete Felder in MySQL-SELECT-Abfragen wiederverwenden, um die Lesbarkeit zu verbessern und Wiederholungen zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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