Maison > base de données > tutoriel mysql > Comment trouver le maximum de deux colonnes dans SQL Server ?

Comment trouver le maximum de deux colonnes dans SQL Server ?

Mary-Kate Olsen
Libérer: 2025-01-15 11:11:44
original
992 Les gens l'ont consulté

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

Détermination de la valeur maximale de deux colonnes dans SQL Server : comparaison avec la fonction Max de .NET

Dans .NET, la fonction Max offre un moyen pratique de déterminer le plus grand de deux nombres. Toutefois, la fonction MAX se comporte différemment lors de l'utilisation de SQL Server. Il est couramment utilisé comme fonction d'agrégation qui renvoie la valeur maximale d'une colonne spécifiée sur toutes les lignes d'un tableau.

Pour les cas où la fonction Max doit opérer sur deux valeurs spécifiques plutôt que sur une colonne entière, SQL Server propose quelques options. Une approche courante consiste à utiliser une instruction UNION, dans laquelle vous créez une nouvelle table contenant deux colonnes de valeurs à comparer, puis appliquez la fonction MAX à la table combinée.

Cependant, cette approche peut devenir compliquée lorsqu'il s'agit de plusieurs colonnes et elle présente des limites dans la gestion des valeurs nulles. Une solution plus élégante a été introduite dans SQL Server 2008, qui consiste à utiliser des tables dérivées.

La réponse fournie suggère une solution puissante et flexible qui utilise des tables dérivées :

<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>
Copier après la connexion

Cette approche par table dérivée offre de nombreux avantages :

  • Simplifiez le code en éliminant le besoin d'instructions UNION, PIVOT, UNPIVOT et CASE.
  • Gérez efficacement les valeurs nulles.
  • Prend en charge l'utilisation de différentes fonctions d'agrégation telles que MIN, AVG ou SUM.
  • Permet de personnaliser les noms des tables et des colonnes pour améliorer la lisibilité et la compréhension.
  • Facilite la détermination de plusieurs agrégats à l'aide de tables dérivées dans SQL Server 2008 et versions ultérieures.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal