簡體   English   中英

為什么這個 linq 查詢不返回不同的代碼?

[英]Why this linq query doesn't return distinct code?

我想要所有唯一 Scheme_Codes 的列表,但我無法編寫查詢。 我試過這個,但我很困惑這個查詢有什么問題。

 var queryresult = db.MFData.GroupBy(x => new { Scheme_Name = x.Scheme_Name, Scheme_Code = x.Scheme_Code, FundFamily = x.FundFamily, Date = x.Date })
                   .Select(group => new
                   {
                       Scheme_name = group.Key.Scheme_Name,
                       Scheme_Code = group.Key.Scheme_Code,
                       FundFamily = group.Key.FundFamily,
                       Date = group.Max(x => x.Date),
                       count = group.Select( x =>  x.Scheme_Code).Distinct().Count()
                   }
                   ).OrderBy(x => x.Scheme_Code);

我有這個查詢,但我不知道如何將其轉換為 linq

SELECT [Scheme_Code],[FundFamily],[Scheme_Name],
 MAX([Date]) as LastDate   
 FROM [MFD].[dbo].[MFDatas]   
 GROUP BY [Scheme_Code],[Scheme_Name], [FundFamily]  
 ORDER BY [Scheme_Code]

您所要做的就是從 groupby 子句中省略日期:

var queryresult = db.MFData.GroupBy(x => new 
    { 
        Scheme_Name = x.Scheme_Name, 
        Scheme_Code = x.Scheme_Code, 
        FundFamily = x.FundFamily 
    }).Select(group => new
    {
        Scheme_name = group.Key.Scheme_Name,
        Scheme_Code = group.Key.Scheme_Code,
        FundFamily = group.Key.FundFamily,
        Date = group.Max(x => x.Date),
        count = group.Select(x => x.Scheme_Code).Distinct().Count()
    }).OrderBy(x => x.Scheme_Code);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM