permet de dire que j'ai cette table:C#, Linq2SQL: Obtenir le plus élevé de chaque groupe
PetID Name Age Weight
Comment puis-je dans un Linq2SQL obtenir le nom, l'âge et le poids de chaque animal qui est le plus lourd dans son âge groupe? Donc, si j'ai un animal de compagnie âgé de 5 ans et quatre animaux de compagnie de 2 ans, je voudrais le nom, l'âge et le poids de celui qui a 5 ans, et celui des 4 avec 2 ans qui est le plus difficile. de ces quatre.
Cela ne devrait probablement pas être trop difficile, mais je ne suis pas encore trop en train de réfléchir. Travailler dessus cependant. Et c'est un type de problème dont j'ai besoin à plusieurs reprises, mais je n'arrive pas à comprendre comment faire ...
Je pense qu'il faudrait utiliser l'opérateur Max ou a>, et certains sorte de regroupement ou de rejoindre, mais c'est à peu près aussi loin que je l'ai eu ....
Merci pour les réponses. Tout d'entre eux m'a mis sur la bonne voie quand il s'agit de GroupBy. Celui que j'ai marqué comme une réponse, était celui qui était le plus proche de ce que j'ai fini avec.
J'ai fini par faire quelque chose de semblable à cela. Utilisation de OrderByDescending J'ai trouvé cela plus facile que les trucs First et Max ... mais peut-être que les autres sont plus efficaces d'une manière ou d'une autre? – Svish
J'ai utilisé la syntaxe de la méthode (ou comment elle s'appelle). Donc, comme, var heavyPets = pets.OrderByDescending (ø => ø.Weight) .GroupBy (ø => ø.Age) .Sélectionnez (ø => ø.First()). Ou quelque chose comme ça :) – Svish