在SQL Server中找出多個值的 最大值
在SQL Server中,MAX函數是一個聚合函數,它作用於單一列並傳回該列所有行中的最大值。但是,有時我們可能需要查找多個列中的最大值。
例如,考慮以下查詢:
<code class="language-sql">SELECT o.OrderId, MAX(o.NegotiatedPrice, o.SuggestedPrice) FROM Order o</code>
此查詢嘗試找出兩列NegotiatedPrice和SuggestedPrice的最大值。但是,MAX函數不支援此操作。
為了得到所需的結果,我們可以使用子查詢,如下面的程式碼所示:
<code class="language-sql">SELECT o.OrderId, (SELECT MAX(Price) FROM (VALUES (o.NegotiatedPrice),(o.SuggestedPrice)) AS AllPrices(Price)) FROM Order o</code>
此子查詢建立一個名為AllPrices的衍生表,該表包含一個名為Price的單列。 Price列包含NegotiatedPrice和SuggestedPrice的數值。然後,我們對這個衍生表使用MAX函數來找出每行的最大值。
此方法是在SQL Server中尋找多個列的最大值的便捷方法。它也用途廣泛,可用於尋找其他聚合值,例如最小值、平均值或總和。
以上是如何在 SQL Server 中尋找多個列的最大值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!