语句之group by, having, count"/>
Mysql 语句之group by, having, count
Mysql的group by, having, count
平时经常用错,这里举一些使用的例子。
- group by
- having
- 聚合函数count,avg,min,max,sum等
一些基础的sql语句:
.html
常用的sql
.html
group by
根据by后面的字段的值分组,值相同的归为一组。
having
group by后,进行组类的判断。where后面也是跟条件判断,但是where是group by之前(如果有group by的话),针对每一行数据;having是针对group by后的组级别的数据。
count等聚合函数
- count统计条数;
- sum求和;
- avg求平均;
- max最大;
- min最小。
注意:聚合函数并不只和group by一起用,不是只有group by的地方才能用它。
比如: select count(*) from stu; # 统计stu表的条数
示例
1:group、两个表join
create table tmp(rq varchar(10),shengfu nchar(1))insert into tmp values('2005-05-09','胜')
insert into tmp values('2005-05-09','胜')
insert into tmp values('2005-05-09','负')
insert into tmp values('2005-05-09','负')
insert into tmp values('2005-05-10','胜')
insert into tmp values('2005-05-10','负')
insert into tmp values('2005-05-10','负')
统计:每一天的胜负次数。输出是:rq,胜次数,负次数。
select a.rq, a.sheng, b.fu from (select rq, count(shengfu) sheng from tmp where shengfu='胜' group by rq, shengfu) a
join
(select rq, count(shengfu) fu from tmp where shengfu='负' group by rq, shengfu) b
on a.rq = b.rq
2:每个学生的成绩在90分以上的各有多少门
create table sc (
sno int,
pno varchar(16),
grade int</
更多推荐
Mysql 语句之group by, having, count
发布评论