首页 > PHP开发 > php操作mysql数据库(6):having条件语句

php操作mysql数据库(6):having条件语句

作者: 分类:PHP开发 点击: 7,892 次

    今天,我们再来看看mysql数据库查询的having条件语句。having条件语句,一般情况也很少单独用到它。having,顾名思义,就是是否有、是否存在的意思。having条件语句看上去,跟where条件语句有点类似。但是它们有着根本的区别:where是判断mysql数据库中的字段,而having条件语句是判断不是数据库字段,而是后生成的某个字段,不是数据库自带的字段。

    这里,我们依然使用上一章php操作mysql数据库(5):分组条件语句group by中的商品案例,通过having查询商品价格大于500元的商品,代码如下:

    select good_id,shop_price as danjia from goods having danjia>500;

    查询结果如下图:

    php操作mysql数据库(6):having条件语句

    这里,如果用where替换having,就会报错。因为danjia字段在原goods数据表中不存在,而where只能判断goods自带的字段。

    having条件语句一般情况下是跟group by语句联合起来使用的。下面以一个案例来说明。

    案例:查询 2门及2门以上科目不及格的学生。如下图(数据表名 class):

    php操作mysql数据库(6):having条件语句

    yuwen 语文;shuxue 数学;yinyu 英语

    先通过group by查询出每个学生不及格的科目数,并获取它们的平均分;然后再通过having来查询出2门及2门以上不及格的学生。代码如下:

    select name,avg(num),sum(num<60) as numb from class group by name having numb>1;

    查询结果如下:

    php操作mysql数据库(6):having条件语句

    having条件语句虽然很少用到,但用的时候,就会有大的用处。在一些统计类的网站中会经常用到它。



文章作者:honor
本文地址:https://wanlimm.com/77201808166607.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

上一篇:
下一篇:

或许你会感兴趣的文章:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.