J'ai une table qui ressemble à ce qui suit, qui a été créée à l'aide du code suivant ...
ID Time_to_complete ... ..... 1 5 2 6 3 7 4 14
3 Réponses :
Je soupçonne que vous devez avoir besoin corrélation em> sous-requête: EDIT: strong> Si vous voulez des enregistrements uniques, vous pouvez faire à la place: p> pk code> est votre colonne d'identité qui spécifie une entrée unique dans la table code> commandes code>, de sorte que vous pouvez la modifier en conséquence. p> p>
Merci! Une autre question - de sorte que certains des identifiants ont le même minimum, il existe un certain nombre d'identifiants répétés dans la table produite qui ont le même min. Par exemple, si ID 5 a 7 enregistrements et deux dont la variable TIME_TO_COMPLETE est 3 la sortie de la table indique trois lignes pour ID 5. Que puis-je ajouter au code pour afficher uniquement des valeurs uniques. J'ai essayé d'ajouter "distinct" après la déclaration de sélection, mais cela n'a pas fonctionné.
@Greg. . . Dans ce cas, vous pouvez utiliser haut (1) code> intérieur
sous-requête code>.
Regardez-y:
ID Time_to_complete ----------- ---------------- 1 5 2 6 3 7 4 14
Try This DECLARE @myTable AS TABLE (ID INT, Time_to_complete INT); INSERT INTO @myTable VALUES (1, 5) , (1, 7) , (1, 8) , (2, 23) , (2, 6) , (3, 7) , (4, 16) , (4, 14); SELECT O.ID, O.Time_to_complete FROM @myTable O WHERE o.Time_to_complete = (Select min(m.Time_to_complete) FROM @myTable m Where o.id=m.ID ); Result : ID Time_to_complete 1 5 2 6 3 7 4 14
Je ne sais pas si vous dites que vous voulez vouloir filtrer les données ou ajouter la nouvelle valeur dans une autre colonne. De toute façon, les deux seraient triviaux dans SQL Server; Soit en utilisant un CTE / SUBQUERY et
ROW_NUMBER CODE> ou UTILISEZ ou utilisez
Min code> et la clause
sur code> respectivement. Il y a beaucoup d'exemples sur la manière de faire l'une ou l'autre (j'ai vu au moins 3 questions posées aujourd'hui pour l'ancien ...).