다음을 통해 공유


숫자 시퀀스에서 최대값 찾기

연산자를 Max 사용하여 숫자 값 시퀀스에서 가장 높은 값을 찾습니다.

예제 1

다음 예제에서는 모든 직원의 최신 고용 날짜를 찾습니다.

샘플 Northwind 데이터베이스에 대해 이 쿼리를 실행하는 경우 출력은 다음과 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)

예제 2

다음 예제에서는 모든 제품의 재고가 가장 많은 단위를 찾습니다.

샘플 Northwind 데이터베이스에 대해 이 예제를 실행하면 출력은 다음과 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)

예제 3

다음 예제에서는 Max를 사용하여 각 범주에서 Products 단가가 가장 높은 값을 찾습니다. 그런 다음 출력은 범주별로 결과를 나열합니다.

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

Northwind 샘플 데이터베이스에 대해 이전 쿼리를 실행하는 경우 결과는 다음과 유사합니다.

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

참고하십시오