次の方法で共有


方法 : 一連の数値の中で最小値を見つける (LINQ to SQL)

一連の数値の中から最小値を返すには、Min 演算子を使用します。

使用例

次の例では、製品の最低単価を見つけます。

Northwind サンプル データベースに対してこのクエリを実行した場合の出力は、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);

次の例では、注文の最低配送料を見つけます。

Northwind サンプル データベースに対してこのクエリを実行した場合の出力は、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);

次の例では、Min を使用して、各カテゴリ内で単価が最も安い Products を見つけます。 出力はカテゴリごとに行われます。

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

Northwind サンプル データベースに対してこのクエリを実行すると、結果は次のようになります。

1

Guaraná Fantástica

2

Aniseed Syrup

3

Teatime Chocolate Biscuits

4

Geitost

5

Filo Mix

6

Tourtière

7

Longlife Tofu

8

Konbu

参照

概念

サンプル データベースのダウンロード (LINQ to SQL)

その他の技術情報

集計クエリ (LINQ to SQL)