53 votes

Sélection d’un enregistrement avec la valeur MAX

Dans SQL Server 2008, j’ai une table CUSTOMERS qui comporte deux colonnes comme :

ID BALANCE

Comment puis-je écrire la requête qui sélectionne l’ID du client qui a le solde maximal, «de la manière la plus efficace» ?

Option 1: `` --> coûte trop cher.

Option 2: Tout d’abord, puis faites une autre requête qui utilise le montant en --> coûte trop cher et ne semble pas fiable.

99voto

Michael Berkowski Points 137903

Note: Une révision incorrecte de cette réponse a été éditée. Veuillez consulter toutes les réponses.

Une sous-sélection dans la clause pour récupérer le plus grand agrégé sur toutes les lignes. Si plusieurs `` valeurs partagent cette valeur d’équilibre, toutes sont renvoyées.

31voto

Gary Points 733

Voici une option si vous avez plusieurs enregistrements pour chaque client et que vous recherchez le dernier solde pour chacun (disons qu’il s’agit d’enregistrements datés) :

3voto

sandip giri Points 21

Disons, pour un utilisateur, il y a révision pour chaque date. Ce qui suit récupérera l’enregistrement de la révision maximale de chaque date pour chaque employé.

-1voto

Edinson Serrano Points 17

La requête à laquelle sandip giri a répondu était la bonne réponse, ici un exemple similaire obtenant l’id maximum (PresupuestoEtapaActividadHistoricoId), après avoir calculé la valeur maximale (Base)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X