<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      MicroOrm.Net(7) Table.Query() - Group By & Having

      MicroOrm.Net主頁:

      http://code.google.com/p/micro-orm-net/

      MicroOrm.Net系列隨便目錄總覽:

      http://www.rzrgm.cn/mapserver/archive/2012/04/07/2436129.html

       

      本文我們來講解MicroOrm.Net的Group By和Having的用法,請看Group By的api:

      Query GroupBy(params Column[] columns)
      

       

      方法的參數(shù)只有Column集合這一種類型,用法很簡單,請看下面的代碼:

      db.OrderDetail.Query()
              .GroupBy(db.OrderDetail.ProductId)
      

       

      熟悉SQL的同學(xué)都知道,在Group By和Select配合使用的時候,出現(xiàn)在Group By子句中的Column可以被直接Select,沒有出現(xiàn)在Group By子句中的Column必須經(jīng)過聚合后才能被Select

      db.OrderDetail.Query()

              .GroupBy(db.OrderDetail.ProductId)

              .Select(db.OrderDetail.OrderId)

      上面的代碼將會出錯,因為Select子句里的OrderDetail.OrderId未出現(xiàn)在Group By子句中,同時也沒有被聚合。

      上面的代碼等價于如下的SQL:

      select OrderId from OrderDetail group by ProductId 
      

      執(zhí)行這句SQL,SQL Server報錯信息如下:

      Msg 8120, Level 16, State 1, Line 1
      Column 'OrderDetail.OrderId' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

       

      Group By時,Select使用Column聚合函數(shù)代碼如下:

      db.OrderDetail.Query()
              .GroupBy(db.Order.ProductId)
              .Select(db.Order.ProductId, db.OrderDetail.Qty.Sum().As("Sum"))
      

       

      Having一般都和Group By搭配來使用,上面我們演示了Group By的用法,我們再來看看Having的用法,至于到底什么是Having,請大家自己去Google

      Having方法的api:

      Query Having(Expression criteria)
      

       

      在Group By子句中出現(xiàn)的Column,能直接在Having方法Expression里使用;未出現(xiàn)在Group By子句里的Column,要在Having方法Expression里使用時,必須要聚合。這和上面Group By后Select一樣。

      db.OrderDetail.Query()

              .GroupBy(db.OrderDetail.ProductId)

              .Having(db.OrderDetail.Qty > 0)

      上面的代碼將會出錯,因為Having方法里的Expression參數(shù)用了 OrderDetail.Qty,但是它并未出現(xiàn)在Group By子句中。

       

      Group By時,Having使用Column聚合函數(shù)代碼如下:

      db.OrderDetail.Query()
              .GroupBy(db.OrderDetail.ProductId)
              .Having(db.OrderDetail.Qty.Sum > 0)
      

       

      MicroOrm.Net支持的聚合函數(shù)有:Sum、Min、Max、Avg

       

      posted @ 2012-04-12 00:41  mapserver  閱讀(759)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲一区二区偷拍精品| 欧洲无码一区二区三区在线观看| 亚洲精品成人综合色在线| 亚洲有无码中文网| 午夜福利影院不卡影院| 无码视频一区二区三区| 午夜射精日本三级| 久久99精品国产麻豆婷婷| 亚洲av永久一区二区| 国色天香成人一区二区| 67194熟妇在线观看线路| 国产毛片三区二区一区| 国产精品先锋资源站先锋影院| 免费人成网站免费看视频| 国产蜜臀一区二区在线播放| 99久久亚洲精品无码毛片| 沂源县| 开心五月婷婷综合网站| 国产日韩在线亚洲色视频| 香蕉EEWW99国产精选免费| 激情一区二区三区成人文| 高清无码18| 国产精品99久久久久久www| 日韩V欧美V中文在线| 亚洲偷自拍国综合| 免费观看成人毛片a片| 天堂mv在线mv免费mv香蕉| 亚洲人成在线播放网站| 欧美丰满熟妇hdxx| 7878成人国产在线观看| 人妻中文字幕精品系列| 国产精品无码免费播放| 亚洲av永久无码精品网站| 国产成人无码aa精品一区| 国产精品男女午夜福利片| 国产伦一区二区三区视频| 91精品乱码一区二区三区| 一区二区三区在线 | 欧洲| 女人张开腿让男人桶爽| 久久久国产一区二区三区四区小说| 日韩成人无码影院|