<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)

    隨筆分類

    隨筆檔案

    新聞檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲视频在线精品| 亚洲成年看片在线观看| 亚洲综合成人网在线观看| 国产免费网站看v片在线| 国产亚洲美女精品久久久2020| 一级毛片一级毛片免费毛片| 亚洲av中文无码| 免费久久人人爽人人爽av| 亚洲AV综合色区无码一区 | 亚洲中文字幕日产乱码高清app| 免费无码专区毛片高潮喷水| 亚洲午夜成人精品电影在线观看| kk4kk免费视频毛片| 夜夜春亚洲嫩草影院| 男人进去女人爽免费视频国产| 亚洲综合精品一二三区在线| 桃子视频在线观看高清免费完整| 亚洲日日做天天做日日谢| 日韩人妻无码免费视频一区二区三区 | 学生妹亚洲一区二区| 日本免费v片一二三区| 一级中文字幕免费乱码专区| 久久久久久A亚洲欧洲AV冫| 99久久精品免费精品国产| 亚洲一区在线视频| 亚洲成av人片在线观看天堂无码| 一区在线免费观看| 99久久亚洲综合精品成人网| 免费激情视频网站| 中文字幕av无码不卡免费| 亚洲国产日韩女人aaaaaa毛片在线| 最近最好的中文字幕2019免费 | 免费看美女让人桶尿口| 一本大道一卡二大卡三卡免费| 亚洲一区二区影院| 性做久久久久免费看| 在线观看免费无码专区| 亚洲国产成人手机在线观看| 91在线亚洲综合在线| 亚洲人成人无码网www国产| 亚洲啪啪免费视频|