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