Heim >Datenbank >MySQL-Tutorial >Wie finde ich das Maximum von zwei Spalten in SQL Server?

Wie finde ich das Maximum von zwei Spalten in SQL Server?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-15 11:11:44990Durchsuche

How to Find the Maximum of Two Columns in SQL Server?

Bestimmen des Maximalwerts von zwei Spalten in SQL Server: Vergleich mit der Max-Funktion von .NET

In .NET bietet die Max-Funktion eine praktische Möglichkeit, die größere von zwei Zahlen zu bestimmen. Allerdings verhält sich die MAX-Funktion bei Verwendung von SQL Server anders. Sie wird häufig als Aggregatfunktion verwendet, die den Maximalwert einer bestimmten Spalte über alle Zeilen in einer Tabelle zurückgibt.

Für Fälle, in denen die Max-Funktion mit zwei bestimmten Werten und nicht mit einer ganzen Spalte arbeiten muss, bietet SQL Server einige Optionen. Ein gängiger Ansatz besteht darin, eine UNION-Anweisung zu verwenden, bei der Sie eine neue Tabelle mit zwei Spalten mit zu vergleichenden Werten erstellen und dann die MAX-Funktion auf die kombinierte Tabelle anwenden.

Dieser Ansatz kann jedoch bei der Verarbeitung mehrerer Spalten kompliziert werden und weist Einschränkungen bei der Verarbeitung von Nullwerten auf. Mit SQL Server 2008 wurde eine elegantere Lösung eingeführt, die die Verwendung abgeleiteter Tabellen beinhaltet.

Die bereitgestellte Antwort schlägt eine leistungsstarke und flexible Lösung vor, die abgeleitete Tabellen verwendet:

<code class="language-sql">SELECT o.OrderId,
       (SELECT MAX(Price)
        FROM (VALUES (o.NegotiatedPrice),(o.SuggestedPrice)) AS AllPrices(Price)) AS MaxPrice
FROM Order o</code>

Dieser abgeleitete Tabellenansatz bietet eine Reihe von Vorteilen:

  • Vereinfachen Sie den Code, indem Sie UNION-, PIVOT-, UNPIVOT- und CASE-Anweisungen überflüssig machen.
  • Nullwerte effizient behandeln.
  • Unterstützt die Verwendung verschiedener Aggregatfunktionen wie MIN, AVG oder SUM.
  • Ermöglicht die Anpassung von Tabellen- und Spaltennamen, um die Lesbarkeit und das Verständnis zu verbessern.
  • Erleichtert die Bestimmung mehrerer Aggregate mithilfe abgeleiteter Tabellen in SQL Server 2008 und höher.

Das obige ist der detaillierte Inhalt vonWie finde ich das Maximum von zwei Spalten in SQL Server?. 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