Freigeben über


Gewusst wie: Ermitteln des minimalen Werts in einer numerischen Sequenz (LINQ to SQL)

Aktualisiert: November 2007

Verwenden Sie den Min-Operator, um den minimalen Wert einer Sequenz numerischer Werte zurückzugeben.

Beispiel

Im folgenden Beispiel wird der niedrigste Einzelpreis aller Produkte gesucht.

Wenn Sie diese Abfrage mit der Beispieldatenbank Northwind ausführen, lautet die Ausgabe 2.5000. 2.5000.

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

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

Console.WriteLine(lowestUnitPrice);

Im folgenden Beispiel wird die niedrigste Frachtmenge aller Bestellungen gesucht.

Wenn Sie diese Abfrage mit der Beispieldatenbank Northwind ausführen, lautet die Ausgabe 0.0200. 0.0200.

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

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

Console.WriteLine(lowestFreight);

Im folgenden Beispiel werden mit Min die Products (Produkte) ermittelt, die in jeder Kategorie den geringsten Einzelpreis aufweisen. Die Ausgabe wird nach Kategorie sortiert.

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
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);
    }
}

Wenn Sie die vorherige Abfrage mit der Beispieldatenbank Northwind ausführen, sehen die Ergebnisse wie folgt aus:

1

Guaraná Fantástica

2

Aniseed Syrup

3

Teatime Chocolate Biscuits

4

Geitost

5

Filo Mix

6

Tourtière

7

Longlife Tofu

8

Konbu

Siehe auch

Konzepte

Herunterladen von Beispieldatenbanken (LINQ to SQL)

Weitere Ressourcen

Aggregatabfragen (LINQ to SQL)