Vérifier plusieurs lignes de valeur, de retour de ligne uniquement avec MAX/MIN
Je suis en train d'écrire une requête qui va comparer la valeur de N nombre de lignes et de retour uniquement la ligne avec la valeur de max. Par exemple, si je voulais seulement retourner un tableau avec les lignes en double, mais seulement la ligne avec la nouvelle date -
key | name | value | date
1 | frank | 100 | 1/1/2013
2 | peter | 200 | 2/1/2013
3 | jonny | 300 | 3/1/2013
4 | jonny | 300 | 4/1/2013
Et la requête:
SELECT key, name, value, MAX(date)
FROM myTable
WHERE key IN (1,2,3,4)
Je serais attendent le retour
key | name | value | date
1 | frank | 100 | 1/1/2013
2 | peter | 200 | 2/1/2013
4 | jonny | 300 | 4/1/2013
Je suis pas sûr de la façon d'utiliser GROUP BY, je pense que je suis absent quelque chose de fondamental avec mes tentatives.
OriginalL'auteur Jamie Strauss | 2013-10-04
Vous devez vous connecter pour publier un commentaire.
Eh bien, si vous voulez seulement la dernière rangée, vous pouvez utiliser les éléments suivants:
Il doit retourner une ligne avec la nouvelle date dans la table.
Si vous voulais le plus récent date pour chaque nom, vous pouvez utiliser group by:
Max est une fonction d'agrégation. Quand vous utilisez une fonction d'agrégation de toutes les colonnes qui ne sont pas agrégées doivent être spécifiées dans la clause group by.
Donc basée sur vos résultats escomptés vous voulez probablement à ceci:
C'est un peu plus complexe car vous avez des colonnes que vous voulez en retour qui ne sont pas inclus dans le groupement. Il y a donc deux états pour arriver au résultat final ensemble.
Dernière option: la bonne vieille sous-requête.
Plus ici sur les fonctions d'agrégation.
Plus ici en groupe, par.
La requête a été révisé afin d'inclure la clé et la valeur des colonnes.
si vous groupe par la clé,nom,valeur, vous obtiendrez tous les résultats dans le tableau.
vrai! raté, vous avez fixé.
Parfait, merci pour la clarification de la fonction MAX pour moi.
OriginalL'auteur Michael
Essayez celui-ci:
OriginalL'auteur The Hill Boy