none
Linq Sum 語法 RRS feed

  • 問題

  • 請問各位大大

    如果說,我有一個Table,欄位有時間、日期、次數,如果說,因為在同一個時間裡,可能有多筆同個秒數的資料,而且每一筆秒數都有次數,想請問一下,我要怎麼下Linq語法,讓他可以將在同一個日期而且同一個秒數的資料做加總呢

    我目前的Linq 語法是這樣

     {           
                DataClassesDataContext db = new DataClassesDataContext();
                IEnumerable<FaceData> dt = from p in db.StasticInfo
                         where p.Date == date
                         orderby p.nFaces ascending
                         select new FaceData
                         {
                             Date =  p.Date,
                             nFaces = p.nFaces,            
                             Time = p.Time
                         };


                return dt;
              
            }

    謝謝

    • 已移動 Lolota Lee 2009年12月16日 上午 07:25 (從:Silverlight)
    2009年12月16日 上午 06:47

解答

  • Hi,

    DataClassesDataContext db = new DataClassesDataContext();
    IEnumerable<FaceData> data = (from p in db.StasticInfo
                                              where p.Date == date
                                              group p by new { p.date,  FaceData建構式中除了nFaces以外的欄位都列上來 }into g

                                              select new
                                              {
                                                  Date = g.Key.Date,
                                                  nFaces = g.Sum(p--錯誤處


                                              });


    ex:
     var resultYYY =
     from p in emp
     group p by new { p.FirstName, p.LastName } into g
     select new {  FirstName = g.Key.FirstName,  Lastname=g.Key.LastName , EmployeeID = g.Sum(p => p.EmployeeID) };


    微軟技術支援中心 (CSS)
    • 已標示為解答 Lolota Lee 2009年12月17日 上午 07:52
    2009年12月15日 上午 09:02

所有回覆

  • 各位大大

     public IEnumerable<FaceData> GetFace(string date)
            {
               
                DataClassesDataContext db = new DataClassesDataContext();
                IEnumerable<FaceData> data = (from p in db.StasticInfo
                                              where p.Date == date
                                              group p by p.nFaces into g

                                              select new
                                              {
                                                  Date = g.Key,
                                                  nFaces = g.Sum(p--錯誤處


                                              });

    我寫了這樣一段linq語法,我要如何又能用where又能用sum

    • 已移動 Lolota Lee 2009年12月15日 上午 06:42 (從:Silverlight)
    • 已合併 Lolota Lee 2009年12月17日 上午 07:51 同一個問題
    2009年12月15日 上午 05:39
  • Hi,

    DataClassesDataContext db = new DataClassesDataContext();
    IEnumerable<FaceData> data = (from p in db.StasticInfo
                                              where p.Date == date
                                              group p by new { p.date,  FaceData建構式中除了nFaces以外的欄位都列上來 }into g

                                              select new
                                              {
                                                  Date = g.Key.Date,
                                                  nFaces = g.Sum(p--錯誤處


                                              });


    ex:
     var resultYYY =
     from p in emp
     group p by new { p.FirstName, p.LastName } into g
     select new {  FirstName = g.Key.FirstName,  Lastname=g.Key.LastName , EmployeeID = g.Sum(p => p.EmployeeID) };


    微軟技術支援中心 (CSS)
    • 已標示為解答 Lolota Lee 2009年12月17日 上午 07:52
    2009年12月15日 上午 09:02
  • Hi,


    LINQ有自己的版, 請到對應版發問, 這個問題您先前發問過了, 我也有回應您, 請參考:
    http://social.msdn.microsoft.com/Forums/zh-TW/238/thread/53380b50-4fc1-4583-8cd8-35cbae5dfc90#89c9c8da-3fd7-436f-9d13-525444935d32




    Lolota


    微軟技術支援中心 (CSS)
    2009年12月16日 上午 07:24