Mysql 语句之group by, having, count

编程入门 行业动态 更新时间:2024-10-11 07:28:28

Mysql <a href=https://www.elefans.com/category/jswz/34/1770772.html style=语句之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

本文发布于:2024-03-23 17:49:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741020.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语句   Mysql   count   group

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!