linq怎么按月份查詢數(shù)據(jù)

小億
136
2024-01-13 23:57:19

在LINQ中,可以使用GroupBy方法將數(shù)據(jù)按照月份進(jìn)行分組,并使用DateTime.Month屬性獲取日期的月份。

以下是一個(gè)示例代碼,展示如何按照月份查詢數(shù)據(jù):

// 假設(shè)有一個(gè)包含日期和數(shù)據(jù)的列表
List<DataItem> data = new List<DataItem>()
{
    new DataItem { Date = new DateTime(2022, 1, 15), Value = 10 },
    new DataItem { Date = new DateTime(2022, 2, 25), Value = 20 },
    new DataItem { Date = new DateTime(2022, 1, 5), Value = 30 },
    new DataItem { Date = new DateTime(2022, 3, 10), Value = 40 },
    new DataItem { Date = new DateTime(2022, 2, 10), Value = 50 }
};

// 按月份分組并查詢
var result = data.GroupBy(item => item.Date.Month)
                 .Select(group => new {
                     Month = group.Key,
                     Sum = group.Sum(item => item.Value)
                 });

// 輸出結(jié)果
foreach (var item in result)
{
    Console.WriteLine($"Month: {item.Month}, Sum: {item.Sum}");
}

這個(gè)示例中,我們首先通過(guò)GroupBy方法按照日期的月份進(jìn)行分組。然后,使用Select方法對(duì)每個(gè)分組進(jìn)行處理,創(chuàng)建一個(gè)新的匿名類型對(duì)象,包含月份和對(duì)應(yīng)月份數(shù)據(jù)的總和。最后,通過(guò)foreach循環(huán)輸出結(jié)果。

請(qǐng)注意,示例中的DataItem類是一個(gè)自定義的數(shù)據(jù)項(xiàng)類,用于存儲(chǔ)日期和數(shù)據(jù)值。你需要根據(jù)自己的數(shù)據(jù)結(jié)構(gòu)進(jìn)行相應(yīng)的調(diào)整。

0