900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > MySQL--分组查询(group by)

MySQL--分组查询(group by)

时间:2022-11-29 20:53:22

相关推荐

MySQL--分组查询(group by)

分组查询 – group by

(1)单列分组查询

语法: select f1,f2,f3,f4...from table_namegroup by f;说明:f表示要根据f列进行分组

强调:在进行分组查询的时候,分组所依据的f列上的值

要有一定的重复性,否则分组没有什么意义。

例子:查询员工表,按照部门对所有员工进行分组查询

select * from t_employeegroup by deptno;

说明:group by deptno是按照部门进行分组,分组以后查询的结果只是显示了该组中的一条数据。

这种简单的分组查询操作,没有任何实际的意义,建议与统计函数一起使用。

语法: select function(f1),function(f2),...from table_namegroup by f;

例子:查询员工表,按照部门进行分组查询,同时显示每组中的员工人数,每组中员工的工资总和,以及平均工资,每组中最高工资和最低工资.

select deptno,count(ename),sum(sal),avg(sal),max(sal),min(sal),enamefrom t_employeegroup by deptno;

select deptno,count(ename),group_concat(ename)from t_employeegroup by deptno;

说明:group_concat()函数能够将分组后的内容连接显示

(2)多列分组查询

分组查询操作 – 根据多个字段

语法:select function(f1),function(f2)...from table_namegroup by field1,field2...说明:先根据field1分组,然后针对分组后的内容在根据field2分组...

例子:查询员工表,先按照部门对所有员工进行分组,然后在按照入职日期对每组员工再分组。查询显示每组的员工姓名和人数。

select deptno,Hiredate,count(ename),group_concat(ename) from t_employeegroup by deptno,Hiredate;

(3)分组后的条件数据查询 – having关键字

语法:select function(f1),function(f2)...from table_namegroup by f...having 条件;说明:条件数据查询有where和having。having关键字只用在分组数据查询中,而且必须在group by之后使用。

例子:查询员工表,按照部门进行分组,显示平均工资高于2000的员工姓名。

select deptno,group_concat(ename),avg(sal)from t_employeegroup by deptnohaving avg(sal)>2000;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。