Buscar el valor máximo de una secuencia numérica
Utilice el operador Max para buscar el valor máximo de una secuencia de valores numéricos.
Ejemplo 1
En el ejemplo siguiente se busca la fecha de la última contratación de cualquier empleado.
Si ejecuta esta consulta en la base de datos de ejemplo Northwind, el resultado es: 11/15/1994 12:00:00 AM
.
System.Nullable<DateTime> latestHireDate =
(from emp in db.Employees
select emp.HireDate)
.Max();
Console.WriteLine(latestHireDate);
Dim latestHireDate = Aggregate emp In db.Employees _
Into Max(emp.HireDate)
Console.WriteLine(latestHireDate)
Ejemplo 2
En el ejemplo siguiente se busca el número máximo de unidades en existencias para cualquier producto.
Si ejecuta este ejemplo en la base de datos de ejemplo Northwind, el resultado es: 125
.
System.Nullable<Int16> maxUnitsInStock =
(from prod in db.Products
select prod.UnitsInStock)
.Max();
Console.WriteLine(maxUnitsInStock);
Dim maxUnitsInStock = Aggregate prod In db.Products _
Into Max(prod.UnitsInStock)
Console.WriteLine(maxUnitsInStock)
Ejemplo 3
En el ejemplo siguiente se utiliza Max para encontrar los Products
que tienen el precio unitario más alto en cada categoría. En este caso, los resultados se muestran por categoría.
var maxQuery =
from prod in db.Products
group prod by prod.CategoryID into grouping
select new
{
grouping.Key,
MostExpensiveProducts =
from prod2 in grouping
where prod2.UnitPrice == grouping.Max(prod3 =>
prod3.UnitPrice)
select prod2
};
foreach (var grp in maxQuery)
{
Console.WriteLine(grp.Key);
foreach (var listing in grp.MostExpensiveProducts)
{
Console.WriteLine(listing.ProductName);
}
}
Dim maxQuery = From prod In db.Products() _
Group prod By prod.CategoryID Into grouping = Group _
Select CategoryID, _
MostExpensiveProducts = _
(From prod2 In grouping _
Where prod2.UnitPrice = _
grouping.Max(Function(prod3) prod3.UnitPrice))
For Each grp In maxQuery
Console.WriteLine(grp.CategoryID)
For Each listing In grp.MostExpensiveProducts
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
Côte de Blaye
2
Vegie-spread
3
Sir Rodney's Marmalade
4
Raclette Courdavault
5
Gnocchi di nonna Alice
6
Thüringer Rostbratwurst
7
Manjimup Dried Apples
8
Carnarvon Tigers