Partager via


Comment : rechercher la valeur minimale dans une séquence numérique

Utilisez l'opérateur Min pour retourner la valeur minimale d'une séquence de valeurs numériques.

Exemple 1

L'exemple suivant recherche le prix unitaire le plus bas parmi les produits.

Si vous exécutez cette requête sur l'exemple de base de données Northwind, vous obtenez le résultat suivant : 2.5000.

System.Nullable<Decimal> lowestUnitPrice =
    (from prod in db.Products
    select prod.UnitPrice)
    .Min();

Console.WriteLine(lowestUnitPrice);
Dim lowestUnitPrice = Aggregate prod In db.Products _
                      Into Min(prod.UnitPrice)

Console.WriteLine(lowestUnitPrice)

Exemple 2

L'exemple suivant recherche le montant de fret le plus bas parmi les commandes.

Si vous exécutez cette requête sur l'exemple de base de données Northwind, vous obtenez le résultat suivant : 0.0200.

System.Nullable<Decimal> lowestFreight =
    (from ord in db.Orders
    select ord.Freight)
    .Min();

Console.WriteLine(lowestFreight);
Dim lowestFreight = Aggregate ord In db.Orders _
                    Into Min(ord.Freight)

Console.WriteLine(lowestFreight)

Exemple 3

L'exemple suivant utilise Min pour trouver les Products qui ont le prix unitaire le plus bas dans chaque catégorie. La sortie est classée par catégorie.

var minQuery =
    from prod in db.Products
    group prod by prod.CategoryID into grouping
    select new
    {
        grouping.Key,
        LeastExpensiveProducts =
            from prod2 in grouping
            where prod2.UnitPrice == grouping.Min(prod3 =>
            prod3.UnitPrice)
            select prod2
    };

foreach (var grp in minQuery)
{
    Console.WriteLine(grp.Key);
    foreach (var listing in grp.LeastExpensiveProducts)
    {
        Console.WriteLine(listing.ProductName);
    }
}
Dim minQuery = From prod In db.Products() _
               Group prod By prod.CategoryID Into grouping = Group _
               Select CategoryID, LeastExpensiveProducts = _
                   From prod2 In grouping _
                   Where prod2.UnitPrice = grouping.Min(Function(prod3) _
                   prod3.UnitPrice)

For Each grp In minQuery
    Console.WriteLine(grp.CategoryID)
    For Each listing In grp.LeastExpensiveProducts
        Console.WriteLine(listing.ProductName)
    Next
Next

Si vous exécutez la requête précédente sur l'exemple de base de données Northwind, les résultats se présenteront comme suit :

1

Guaraná Fantástica

2

Aniseed Syrup

3

Teatime Chocolate Biscuits

4

Geitost

5

Filo Mix

6

Tourtière

7

Longlife Tofu

8

Konbu

Voir aussi