Compartir a través de


Cómo: Buscar el valor mínimo en una secuencia numérica (LINQ to SQL)

Utilice al operador Min para devolver el valor mínimo de una secuencia de valores numéricos.

Ejemplo

En el ejemplo siguiente se busca el precio unitario más bajo de cualquier producto.

Si ejecuta esta consulta en la base de datos de ejemplo Northwind, el resultado es: 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);

En el ejemplo siguiente se busca el importe con flete más bajo de cualquier pedido.

Si ejecuta esta consulta en la base de datos de ejemplo Northwind, el resultado es: 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);

En el ejemplo siguiente se utiliza Min para encontrar los Products que tienen el precio unitario más bajo en cada categoría. El resultado se organiza por categoría.

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

Si ejecuta la consulta anterior en la base de datos de ejemplo Northwind, los resultados se parecerán a los siguientes:

1

Guaraná Fantástica

2

Aniseed Syrup

3

Teatime Chocolate Biscuits

4

Geitost

5

Filo Mix

6

Tourtière

7

Longlife Tofu

8

Konbu

Vea también

Conceptos

Descargar bases de datos de ejemplo (LINQ to SQL)

Otros recursos

Consultas de funciones agregadas (LINQ to SQL)