• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            分組查詢

            Posted on 2008-08-12 15:49 Prayer 閱讀(859) 評論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)庫,SQL
            *************************************************************************************
            分組查詢
            *************************************************************************************

            在select 語句中可以使用group by 子句將行劃分成較小的組,然后,使用聚組函數(shù)返回每一個組的匯總信息,另外,可以使用having子句限制返回的結(jié)果集。group by 子句可以將查詢結(jié)果分組,并返回行的匯總信息SQLServer 按照group by 子句中指定的表達(dá)式的值分組查詢結(jié)果。

            -------------------------------------------------------------------------------------
            分組查詢一般是用來進(jìn)行統(tǒng)計需求的,要進(jìn)行分組查詢必須使用group by子句或having子句,在分組統(tǒng)計時要用到SQL的多行存儲函數(shù)。在where條件中不能使用多行存儲函數(shù).

            查詢語句的select 和group by ,having 子句是聚組函數(shù)唯一出現(xiàn)的地方,在where 子句中不能使用聚組函數(shù)。

            在帶有g(shù)roup by 子句的查詢語句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚組函數(shù).
            ------------------------------------------------------------------------------------


            部門表department:

            department_id department_name
            10 開發(fā)部
            20 測試部
            30 用服部
            40 財務(wù)部
            50 培訓(xùn)部

            雇員表employees:(department_id為外鍵)

            id employees_name department_id
            1 cheng 10
            2 zhou 50
            3 liguo 10
            4 wang 20
            5 feng 30
            6 ling 30
            7 wu 20
            8 tang 20
            9 yang 40
            10 tan 50
            ------------------------------------------------------------------------------------

            按部門編號統(tǒng)計出表employees中的每個部門的人數(shù)(group by分組查詢)
            select department_id, count(*) from employees
            group by department_id;

            顯示出部門人數(shù)少于5人的部門編號以及人數(shù)( 按照department_id來分組,having count(*)<5做為限制條件 )
            select department_id 部門號, count(*) 部門人數(shù) from employees
            group by department_id
            having count(*)<5;
            --------------------------------------
            (注意:having必須在group by子句的后面)
            --------------------------------------
            圖:
            部門號 部門人數(shù)
            ------------------------------
            10 2
            20 3
            30 2
            40 1
            50 2
            -------------------------------------------------------------------------------------
            where子句和having子句可以同時使用,where子句是對要分組的行進(jìn)行過濾,即選擇要分組的行;
            而having子句是對分組后的數(shù)據(jù)進(jìn)行過濾。此時where子句必須在group by...having子句之前
            -------------------------------------------------------------------------------------
            顯示出所有工資大于5000,且部門人數(shù)大于5個的部門號,部門最低工資和部門人數(shù)

            select department_id 部門號(記住department_id 和部門號之間要空格), min(salary) 最低工資,count(*) 部門人數(shù) from employees
            where salary >5000
            group by department_id
            having count(*)>5;

            圖:
            --------------------------------------
            部門號 最低工資 部門人數(shù)
            80 6100 34
            100 6800 6

            group by 按照哪個字段來排序查詢,一般的group by和having一起使用,注意在查詢中只能查詢與group by和having有關(guān)的字段。
            --------------------------------------

            where 子句的作用是在對查詢結(jié)果進(jìn)行分組前,將不符合where條件的行去掉,即在分組之前過濾數(shù)據(jù),條件中不能包含聚組函數(shù),使用where條件顯示特定的行。


            having 子句的作用是篩選滿足條件的組,即在分組之后過濾數(shù)據(jù),條件中經(jīng)常包含聚組函數(shù),使用having 條件顯示特定的組,也可以使用多個分組標(biāo)準(zhǔn)進(jìn)行分組。



            查詢每個部門的每種職位的雇員數(shù)(待測試...)
            select deptno,job,count(*) from emp group by deptno,job;
            亚洲人成电影网站久久| 久久水蜜桃亚洲av无码精品麻豆| 久久综合久久综合久久| 国产激情久久久久影院| 久久国产精品偷99| 欧美精品九九99久久在观看| 久久精品中文騷妇女内射| 情人伊人久久综合亚洲| 亚洲美日韩Av中文字幕无码久久久妻妇| 久久久久亚洲爆乳少妇无| 久久久国产精华液| 国产精久久一区二区三区| 久久久久亚洲AV无码观看| 国产精品欧美久久久久天天影视| 久久丫忘忧草产品| 久久亚洲国产精品123区| 狠狠88综合久久久久综合网| 狠狠人妻久久久久久综合蜜桃| 久久天天躁夜夜躁狠狠| 久久无码国产| 九九久久精品无码专区| 国内精品人妻无码久久久影院 | 国内精品久久久久久久久电影网 | 久久国产精品免费一区二区三区| yy6080久久| 精品欧美一区二区三区久久久| 精品国产91久久久久久久| 狠狠精品久久久无码中文字幕| 精品国产91久久久久久久a| 精品久久久久久亚洲精品 | 天天躁日日躁狠狠久久| 亚洲七七久久精品中文国产| 久久人人爽人人爽AV片| 久久久久久久亚洲精品| 精品久久久久久无码免费| 国内精品久久久久久久亚洲| 午夜不卡888久久| 国产成人无码精品久久久免费| 爱做久久久久久| 狠狠人妻久久久久久综合蜜桃| 久久久久国产精品麻豆AR影院|