日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL分组查询案例

發布時間:2024/4/11 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL分组查询案例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

總結

語法

select 查詢列表
from 表
【where 篩選條件】
group by 分組的字段
having 分組后篩選
【order by 排序的字段】;

執行順序

  • from子句
  • where子句
  • group by子句
  • having子句
  • select子句
  • order by子句
  • 特點

  • 和分組函數一同查詢的字段必須是group by后出現的字段
  • 篩選分為兩類:分組前篩選和分組后篩選
  • 針對的表位置連接的關鍵字
    分組前篩選原始表group by前where
    分組后篩選group by后的結果集group by后having

    表的結構


    數據文件參見:

    myemployees.sql文件

    1. 簡單的分組

    案例1:查詢每個工種的員工平均工資

    SELECT job_id, AVG(salary) FROM employees GROUP BY job_id

    案例2:查詢每個位置的部門個數

    SELECT COUNT(*),manager_id from employees WHERE manager_id is not null GROUP BY manager_id

    2、可以實現分組前的篩選

    案例1:查詢郵箱中包含a字符的 每個部門的最高工資

    SELECT MAX(salary) as 最高工資,department_id FROM employees where email like "%a%" GROUP BY department_id

    案例2:查詢有獎金的每個領導手下員工的平均工資

    SELECT AVG(salary) as 平均工資,manager_id from employees where commission_pct is not null GROUP BY manager_id

    3、分組后篩選

    案例:查詢哪個部門的員工個數>5

    #①查詢每個部門的員工個數 #② 篩選剛才①結果 SELECT department_id,COUNT(*) as "員工個數" FROM employees GROUP BY department_id HAVING count(*)>5

    注意是先找出每個部門的員工個數,再篩選出大于5的。所以是分組后篩選,要用HAVING(而不是WHERE),放在GROUP BY 的后面

    案例2:每個工種有獎金的員工的最高工資>12000的工種編號和最高工資

    SELECT job_id, MAX(salary) from employees where commission_pct is not null GROUP BY job_id HAVING max(salary)>12000

    案例3:領導編號>102的每個領導手下的最低工資大于5000的領導編號和最低工資

    select manager_id, min(salary) FROM employees WHERE manager_id>102 GROUP BY manager_id having min(salary)>5000

    4.添加排序

    案例:每個工種有獎金的員工的最高工資>6000的工種編號和最高工資,按最高工資升序

    SELECT job_id,MAX(salary) FROM employees WHERE commission_pct is not null GROUP BY job_id HAVING MAX(salary)>6000 ORDER BY MAX(salary) ASC

    5.按多個字段分組

    案例:查詢每個工種每個部門的最低工資,并按最低工資降序

    SELECT job_id,department_id, MIN(salary) from employees GROUP BY job_id,department_id ORDER BY MIN(salary) DESC 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

    總結

    以上是生活随笔為你收集整理的SQL分组查询案例的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。