Compartir a través de


Buscar el valor mínimo de una secuencia numérica

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

Ejemplo 1

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.

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)

Ejemplo 2

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.

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)

Ejemplo 3

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.

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 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

Consulte también