沈阳营销型网站建设 网站优化 seo优化 网络营销 就选同胜科技
咨询热线:024-83810631
首页 关于我们 成功案例 网站建设 SEO优化 全网营销 新闻资讯 联系我们
 

sql数据库小知识where、group by、having 区别

日期:2012年09月03日 来源:沈阳AG游戏大厅(www.cheeme.com)

 

数据库结构:
 
数据表:student
表结构:
Field Name DataType Len
id                int           20
name           varchar    25
major           varchar    25
score           int           20
sex              varchar    20
rn 
表数据:
编号/姓名/专业/学分/性别
id   name major     score sex
1    jak    Chinese    40    f
2    rain    Math        89    m
3    leo    Phy          78    f
4    jak    Math         76    f
5    rain    Chinese   56    m
6    leo    Math         97    f
7    jak    Phy          45    f
8    jak    Draw         87    f
9    leo    Chinese    45    f

现在我们要得到一个视图:
要求查询性别为男生,并且列出每个学生的总成绩:
SQL:
select s.*,sum(s.score) from student s where sex=''f'' group by s.name

Result:
id   name major     score sex sum(s.score)
1    jak    Chinese    40    f       248
3    leo    Phy         78     f       220

可以看到总共查到有两组,两组的学生分别是jak和leo,每一组都是同一个学生,这样我们就可以使用聚合函数了。
只有使用了group by语句,才能使用如:count()、sum()之类的聚合函数。

下面我们再对上面的结果做进一步的筛选,只显示总分数大于230的学生:
SQL:
select s.*,sum(s.score) from student s where sex=''f'' group by s.name having sum(s.score)>230

Result:
id   name major     score       sex   sum(s.score)
1    jak    Chinese    40          f       248

可见having于where的功能差不多。

结论:
1.WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。
2.GROUP BY 子句用来分组 WHERE 子句的输出。
3.HAVING 子句用来从分组的结果中筛选行。

 


沈阳网站建设选择我们就没错,提供全套的一条龙网站建设和沈阳seo服务,网站维护终身免费,让您最大程度上拥有成功网站优势!网站地图 快速通道

 

 
·SEO站内优化有哪些手法[2018-06-11]
·如何降低网站改版对网站的影响[2018-06-11]
·seo网站建设前需要注意的优化点[2018-06-11]
·在做网站优化时网页的标题标签太[2018-06-11]
·做SEO时需要在每个网页标题加网站[2018-06-11]
·seosem是什么意思?[2018-06-11]
·史上最齐全关键词排名下降的原因[2018-06-11]
·老站优化长尾关键词的技术分享[2018-06-11]
·网站关键词11-50名快速进入首页的[2018-06-11]
·网站关键词排名怎么去优化到百度[2018-06-11]
·目标关键词定位核心思想[2018-06-11]
·做好这三点,为关键词优化减负![2018-06-11]
·网络营销之网站优化推广难点[2018-03-01]
·网站优化中SEO关键词密度到底多少[2018-03-01]
 
  "用 诚心做好服务,用实力做好质量!   网 站地图  快速通道      电话:024-83810631   手机:13840407908
点击这里给我发消息
点击这里给我发消息