Maison >base de données >tutoriel mysql >Comment trouver la valeur maximale sur plusieurs colonnes dans SQL Server ?
Trouver la valeur maximale de plusieurs valeurs dans SQL Server
Dans SQL Server, la fonction MAX est une fonction d'agrégation qui opère sur une seule colonne et renvoie la valeur maximale parmi toutes les lignes de cette colonne. Cependant, nous pouvons parfois avoir besoin de trouver la valeur maximale dans plusieurs colonnes.
Par exemple, considérons la requête suivante :
<code class="language-sql">SELECT o.OrderId, MAX(o.NegotiatedPrice, o.SuggestedPrice) FROM Order o</code>
Cette requête tente de trouver la valeur maximale de deux colonnes NegotiatedPrice et SuggestedPrice. Cependant, la fonction MAX ne prend pas en charge cette opération.
Pour obtenir le résultat souhaité, nous pouvons utiliser une sous-requête comme indiqué dans le code ci-dessous :
<code class="language-sql">SELECT o.OrderId, (SELECT MAX(Price) FROM (VALUES (o.NegotiatedPrice),(o.SuggestedPrice)) AS AllPrices(Price)) FROM Order o</code>
Cette sous-requête crée une table dérivée nommée AllPrices qui contient une seule colonne nommée Price. La colonne Prix contient les valeurs de NegotiatedPrice et SuggestedPrice. Nous utilisons ensuite la fonction MAX sur cette table dérivée pour trouver la valeur maximale pour chaque ligne.
Cette méthode est un moyen pratique de trouver la valeur maximale de plusieurs colonnes dans SQL Server. Il est également polyvalent et peut être utilisé pour rechercher d'autres valeurs agrégées telles que le minimum, la moyenne ou la somme.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!