MySQL——分組查詢

什麼是分組

按照性別將班上同窗分爲男生一組,女生一組。函數

group by

/* 查看每一個職位的最高、最低工資 */
select job,max(sale),min(sale) from emp group by job;

使用group by 語句

  • 出如今select列表中的字段,若是出現的位置不是分組函數,那麼必須出如今group by子句中。

由於分組函數是sal,因此job不在分組函數中,必須出如今group by子句中
圖片描述
若是不出現,均出錯!!!
圖片描述
圖片描述spa

  • 正確作法:
/* 查看不一樣職位的人數和平均工資 */
select job,count(empno),avg(sal) from emp group by job;
  • 錯誤作法:
/* deptno和job都應該出如今group by後面 */
select deptno,job,count(empno),avg(sal) from emp group by job;

group by子句後面不能含有where子句!!!code

having

對分組的結果,進行篩選圖片

/* 查詢平均工資大於2000的部門和其平均工資 */
select deptho avg(sal) from emp group by deptno having avg(sal)>2000;

圖片描述

/* 顯示每年入職公司各多少人 */
select year(hiredate),count(empno) from emp group by year(hiredate);

圖片描述

相關文章
相關標籤/搜索