<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    風雨無阻

    深入淺出SQL教程之Group By和Having

    在介紹GROUP BY 和 HAVING 子句前,我們必需先講講sql語言中一種特殊的函數:聚合函數,例如SUM, COUNT, MAX, AVG等。這些函數和其它函數的根本區別就是它們一般作用在多條記錄上。 

    SELECT SUM(population) FROM bbc 

    這里的SUM作用在所有返回記錄的population字段上,結果就是該查詢只返回一個結果,即所有國家的總人口數。 

    通過使用GROUP BY 子句,可以讓SUM 和 COUNT 這些函數對屬于一組的數據起作用。當你指定 GROUP BY region 時, 屬于同一個region(地區)的一組數據將只能返回一行值,也就是說,表中所有除region(地區)的字段,只能通過 SUM, COUNT等聚合函數運算后返回一個值。  HAVING子句可以讓我們篩選成組后的各組數據,WHERE子句在聚合前先篩選記錄.也就是說作用在GROUP BY 子句和HAVING子句前,而 HAVING子句在聚合后對組記錄進行篩選。 

    讓我們還是通過具體的實例來理解GROUP BY 和 HAVING 子句,還采用第三節介紹的bbc表。 

    SQL實例: 

    一、顯示每個地區的總人口數和總面積: 

    SELECT region, SUM(population), SUM(area)

    FROM bbc

    GROUP BY region

     

    先以region把返回記錄分成多個組,這就是GROUP BY的字面含義。分完組后,然后用聚合函數對每組中的不同字段(一或多條記錄)作運算。 

    二、 顯示每個地區的總人口數和總面積.僅顯示那些面積超過1000000的地區。 

    SELECT region, SUM(population), SUM(area)

    FROM bbc

    GROUP BY region

    HAVING SUM(area)>1000000

     

    在這里,我們不能用where來篩選超過1000000的地區,因為表中不存在這樣一條記錄。 

    相反,HAVING子句可以讓我們篩選成組后的各組數據。


    group by分組統計SQL語句(實例)

    用一條查詢語句,查出各姓名的數值余額.

    用戶表:
    姓名
    a
    b
    c
    ....

    扣費表:
    姓名 數值
    a 3.5
    b 5.2
    a 2
    ...

    充值表:
    姓名 數值
    b 10
    a 10
    a 10.5
    ...

    返回:
    姓名 差額(充值和-扣費和)

    測試通過

    select table1.TNAME,table1.TelName, (table3.充值-table2.扣費) as 差額
    from 用戶表 table1,(select TelName,sum(TelQryh)as 扣費 from 扣費表 group by TelName)table2,
    (select TelName,sum(TelQryc)as 充值 from 充值表 group by TelName)table3 where
    table1.TelName=table2.TelName and table1.TelName=table3.TelName

    posted on 2008-04-12 19:32 秋楓故事 閱讀(143) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2008年4月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    新聞檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久草免费福利视频| 国产高清视频免费在线观看| 99在线观看免费视频| 亚洲精品无码成人片久久| 人人爽人人爽人人片A免费| 免费va人成视频网站全| 国产精品亚洲专区无码牛牛| 精品国产免费观看一区| 国产精品国产亚洲区艳妇糸列短篇 | 日本高清免费网站| 亚洲AV永久无码精品一福利 | 久久久精品午夜免费不卡| 亚洲精品无码国产| 91香蕉国产线观看免费全集| 亚洲国产成AV人天堂无码| 成年性羞羞视频免费观看无限| 亚洲成a人片在线不卡一二三区| 国产最新凸凹视频免费| eeuss影院免费92242部| 亚洲成AV人片天堂网无码| 88xx成人永久免费观看| 亚洲国产日韩综合久久精品| 亚洲JIZZJIZZ中国少妇中文| 国产一级a毛一级a看免费视频 | 亚洲国产精品18久久久久久| 亚洲&#228;v永久无码精品天堂久久 | 久久国产亚洲精品麻豆| 6080午夜一级毛片免费看 | 在线观看免费成人| 在线播放免费人成视频网站| 亚洲AV无码专区在线播放中文 | 久久亚洲国产午夜精品理论片| 91香蕉在线观看免费高清| 亚洲欧美第一成人网站7777| 亚洲性久久久影院| 香蕉免费一区二区三区| 亚洲AV永久无码精品一福利| 国产亚洲免费的视频看| 最新中文字幕电影免费观看| 久青草视频在线观看免费| 亚洲w码欧洲s码免费|