• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            分組查詢

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

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

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

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

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


            部門表department:

            department_id department_name
            10 開發部
            20 測試部
            30 用服部
            40 財務部
            50 培訓部

            雇員表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
            ------------------------------------------------------------------------------------

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

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

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

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

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

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


            having 子句的作用是篩選滿足條件的組,即在分組之后過濾數據,條件中經常包含聚組函數,使用having 條件顯示特定的組,也可以使用多個分組標準進行分組。



            查詢每個部門的每種職位的雇員數(待測試...)
            select deptno,job,count(*) from emp group by deptno,job;
            性欧美丰满熟妇XXXX性久久久| 久久精品国内一区二区三区| 久久精品中文字幕大胸| 国产精品成人久久久| 久久超乳爆乳中文字幕| 国产精品欧美久久久久无广告| 亚洲国产高清精品线久久 | 亚洲一本综合久久| 久久一区二区三区99| 久久精品亚洲一区二区三区浴池 | 久久精品国产亚洲AV无码麻豆 | 思思久久好好热精品国产| 久久99国产综合精品免费| 看全色黄大色大片免费久久久 | 久久se精品一区精品二区国产| 国产A三级久久精品| 久久久久亚洲?V成人无码| 日产精品99久久久久久| 久久久久国产视频电影| 青青青国产精品国产精品久久久久 | 亚洲va久久久久| 91精品国产综合久久香蕉 | 人妻少妇久久中文字幕一区二区| 精品无码久久久久久久久久| 国产精品无码久久久久久| 久久这里有精品| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区| 亚洲欧洲日产国码无码久久99| 亚洲国产精品无码久久九九| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 精品久久久久久无码国产| 好久久免费视频高清| 久久久久久亚洲AV无码专区| 国产69精品久久久久久人妻精品| 亚洲精品tv久久久久久久久久| 久久99精品久久久久久9蜜桃| 色偷偷888欧美精品久久久| 69久久精品无码一区二区| 国产亚洲色婷婷久久99精品| 麻豆AV一区二区三区久久| 精品熟女少妇av免费久久|