Mysql学习详解MySQL中的分组查询与连接查询语句
《Mysql学习详解MySQL中的分组查询与连接查询语句》要点: MYSQL应用分组查询 group by MYSQL应用1)单独使用 MYSQL应用
select * from employee group by sex;
MYSQL应用将只显示男女两条记录. MYSQL应用2)与group_concat()函数一起使用 MYSQL应用
select sex,group_concat(name) from employee group by sex;
MYSQL应用显示成果中“女”会显示所有sex为“女”的名字name MYSQL应用
sex | group_concat(name)
女 | 小红,小兰
男 | 张三,王五,王六
MYSQL应用3)与集合函数一起使用 MYSQL应用
select sex,count(sex) from employee group by sex;
MYSQL应用成果: MYSQL应用
sex | count(num)
女 | 1
男 | 3
MYSQL应用count()为计算个数的办法. MYSQL应用4)与having一起使用 MYSQL应用
select sex,count(sex) from employee group by sex having count(sex) >= 3;
MYSQL应用成果: MYSQL应用
sex | count(sex)
男 | 3
MYSQL应用“having条件表达式”作用于分组后的记录. MYSQL应用5)按多字段进行分组 MYSQL应用
select * from employee group by d_id,sex;
MYSQL应用查询成果先按d_id分组,再按sex进行分组 MYSQL应用6) 与with rollup一起使用 MYSQL应用
select sex,count(sex) from employee group by sex with rollup;
MYSQL应用成果: MYSQL应用
sex | count(sex)
女 | 1
男 | 5
null | 6
MYSQL应用如果是字符串的话,好比姓名就会生成“张三,李四,王五”这种类型的结果,即name总和. MYSQL应用连接查询 MYSQL应用1)内连接查询: MYSQL应用2)外连接查询 select num,d_name from employee left join department on employee.d_id = department.d_id; MYSQL应用右连接查询: MYSQL应用 MYSQL应用
select count(*) from employee;
MYSQL应用与group by一起使用 MYSQL应用
select d_id,count(*) from employee group by d_id;
MYSQL应用上述语句会先分组后统计. MYSQL应用2) sum()函数 MYSQL应用
select num,sum(score) from grade where num= 1001;
select num,sum(score) from grade group by num;
MYSQL应用sum()只能计算数值类型字段. MYSQL应用
select avg(age) from employee;
select course,avg(score) from group by course;
MYSQL应用4)max(),min()函数 欢迎参与《Mysql学习详解MySQL中的分组查询与连接查询语句》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |