日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

數據庫分組查詢--GROUP BY及排序

作者:李咻咻 更新時間: 2022-07-21 編程語言

-- 分組函數

SELECT sum(t.sal) 求和,avg(sal),max(sal),min(sal),count(empno) FROM scott.emp t;

-- 普通函數查詢表信息,有多少行就會返回多少行數據

SELECT CONCAT(dname,'的地址在',loc) FROM scott.dept;

-- 分組函數只能會返回一行數據

SELECT count(empno) FROM scott.emp;

-- 分組查詢

-- 查詢每個部門中有多少人,要求列出部門編號和人數。

SELECT deptno,count(empno) FROM scott.emp GROUP BY deptno;

-- 查詢每個崗位的平均工資

SELECT job,avg(sal) FROM scott.emp GROUP BY job;

-- 查詢每個部門中每個崗位的人數和最高工資

SELECT deptno,job,count(*),max(sal) FROM scott.emp GROUP BY deptno,job;

-- 分組條件

-- 查詢每個部門的人數,要求只顯示人數大于3人的數據。

SELECT deptno,count(empno) FROM scott.emp GROUP BY deptno HAVING count(empno)>3;

-- 查詢每個部門中,名字包含有E的員工人數

SELECT deptno,count(*) FROM scott.emp WHERE ename like'%E%' GROUP BY deptno;

-- 如果是分組字段,則在where和having后面都可以使用

SELECT deptno,count(*) FROM scott.emp WHERE deptno=10 GROUP BY deptno;

SELECT deptno,count(*) FROM scott.emp GROUP BY deptno HAVING deptno=10;

-- 查詢各部門中名字中包含E的員工人數,要求人數超過1個,只顯示部門編號、人數。

SELECT deptno,count(*)

FROM scott.emp

WHERE ename like'%E%'

GROUP BY deptno

HAVING count(*)>1;

-- 查詢各崗位中工資在1000-3000之間的最高工資和最低工資,要求最高工資不等于3000。

SELECT job,max(sal),min(sal)

FROM scott.emp

WHERE sal BETWEEN 1000 and 3000

GROUP BY job

HAVING max(sal)!=3000;

-- 排序

-- 查詢公司所有的員工,按工資升序排列

SELECT * FROM scott.emp ORDER BY sal ASC;

-- 查詢公司所有的員工,按工資升序排列,工資相同的按獎金降序排列

SELECT * FROM scott.emp ORDER BY sal ASC,comm DESC;

原文鏈接:https://blog.csdn.net/ljabcdefg111/article/details/125898268

欄目分類
最近更新