Je dois trouver la plus grande oras_key groupée par acco_key. Donc, si acco_key = 5, et se produit dans oras_Key = (1,4,5,7), le résultat devrait être oras_key = 7, acco_key = 5 (le plus grand oras_key). C'est une partie du problème.Trouver la plus grande valeur dans la colonne qui était avant le groupe par l'autre colonne
Autre partie du problème: Je dois trouver tous ces enregistrements - donc les plus gros oras_key, groupés par acco_key. Ensuite, le tri doit être effectué par oras_key.
J'ai déjà essayé de grouper mais je ne sais pas comment trouver la plus grande oras_key si je groupais par acco_key?
Voici le tableau, les données et la sortie désirée:
+----------+----------+----------+
| oras_key | merc_key | acco_key |
+----------+----------+----------+
| 1 | 3 | 5 |
| 2 | 3 | 6 |
| 3 | 3 | 7 |
| 4 | 3 | 5 |
| 5 | 3 | 5 |
| 7 | 3 | 5 |
| 8 | 3 | 6 |
| 9 | 3 | 6 |
| 10 | 3 | 6 |
| 11 | 3 | 8 |
| 12 | 3 | 8 |
| 13 | 3 | 8 |
| 14 | 3 | 9 |
+----------+----------+----------+
Tableau définition et les données:
declare @tblTemp3 table
(
oras_key int,
merc_key int,
acco_key int
)
insert into @tblTemp3 (oras_key, merc_key, acco_key)
values(1, 3, 5),
(2, 3, 6),
(3, 3, 7),
(4, 3, 5),
(5, 3, 5),
(7, 3, 5),
(8, 3, 6),
(9, 3, 6),
(10, 3, 6),
(11, 3, 8),
(12, 3, 8),
(13, 3, 8),
(14, 3, 9)
sortie souhaitée:
+----------+----------+----------+
| oras_key | merc_key | acco_key |
+----------+----------+----------+
| 14 | 3 | 9 |
| 13 | 3 | 8 |
| 10 | 3 | 6 |
| 7 | 3 | 5 |
| 3 | 3 | 7 |
+----------+----------+----------+
Merci beaucoup pour vos efforts, ça marche. Peut-être avez-vous un lien vers un bon tutoriel sur le sujet? – FrenkyB
Salut! Vous pouvez utiliser la documentation pour la fonction [MAX()] (https://docs.microsoft.com/en-us/sql/t-sql/functions/max-transact-sql) et [this] (http://mickeystuewe.com/2012/10/28/the-row_number-function-as-an-alternate-to-the-max-function/) article. –