首页 > 其他分享 >dql 分组查询和条件查询

dql 分组查询和条件查询

时间:2022-10-16 16:55:54浏览次数:55  
标签:sex 分组 dql 查询 where having math

分组查询 

公式:select 字段列表 from 表名 【where 分组前的条件】 group by 分组字段名  【having  分组之后的查询条件 】

注意: 分组之后 查询字段 只能写 分组字段名 或者 聚合函数  ,写其他字段没有意义

where 和having 的区别: where 是在分组前 进行条件限定 不满足条件的不参与 分组,having 是在分组之后的结果进行过滤; where 中不能对聚合函数 (sum,count这种)进行判断,而having 可以

执行顺序: where>聚合函数>having

 比如 查询班级表中 男同学和女同学的 数学平均成绩

select sex, avg(math) from stu group by sex;

查询 班级男女同学 数学平均成绩 并计算 总人数 

select sex,avg(math),count(*)from stu group by sex;

------------------------------------------------------------成绩低于70分的 不参与 分组,所以使用where 在分组前进行条件限定

select sex ,avg(math),count(*) from stu where  math>70  group by sex;

-------------------------------------------------------------------------------------------------,总人数要大于2

select  sex ,avg(math),count(*) from stu where math>70 group by sex  having count(*)>2;

 

标签:sex,分组,dql,查询,where,having,math
From: https://www.cnblogs.com/y-258/p/16796526.html

相关文章

  • 3.MongoDB系列之查询
    1.find简介//查询所有文档db.users.find({})//查询指定条件文档db.users.find({'name':'shenjian'})//查询指定字段,1查询键0剔除键db.users.find({'name':'sh......
  • SpringBoot整合ES查询
    springboot整个es有很多钟方法,比如TransportClient、RestClient、RestHighLevelClient、SpringData-Es、Elasticsearch-SQL等。ElasticSearch官方提供了3个Client,具体......
  • sqlserver分组后取一条默认数据
    select*fromTestUsera;id name phone1张三134272191582 张三 138278264953 李四 158495431554 王五 15884562583 按姓名分组后绑定个默认手机号selectb.n......
  • ES大数据量的分页查询
    FROM/SIZE分页查询默认情况下,不加from,size的话,ES会返回前10条记录。加上from,size就会查询指定的条数。其中from代表起始行号,size代表查询行数。如果用JAVA等Client端传参......
  • ES的过滤查询
    ES的查询类型和特性查询(query):默认会计算每个返回文档的得分,然后根据得分排序过滤(filter):筛查出符合条件的文档,并且不计算得分,还可以缓存文档注意:filter过滤查询必须要......
  • Mysql单表访问方法,索引合并,多表连接原理,基于规则的优化,子查询优化
    参考书籍《mysql是怎样运行的》非常推荐这本书,通俗易懂,但是没有讲mysql主从等内容书中还讲解了本文没有提到的子查询优化内容,本文只总结了常见的子查询是如何优化的系......
  • ES聚合查询
    Elasticsearch的聚合查询分为四大类,分别是BucketAggregation、MetricAggregation、PipelineAggregation、MatrixAggregration。具体的四大类都是什么意思呢?都是怎么运......
  • 实现查询连续3天登陆的用户
    sql写出连续三天都登录的用户1、创建表createtabletest_user_login_3days(user_idint,login_datestring); 2、数据准备insertintotest_user_login_3daysvalue......
  • Revit查询元素的方法
    FilteredElementCollectorcollector=newFilteredElementCollector(m_Doc);      collector.OfCategory(BuiltInCategory.OST_MechanicalEquipmentTags);col......
  • elasticsearch的查询数大于10000查询失败
    错误信息Causedby:ElasticsearchException[Elasticsearchexception[type=illegal_argument_exception,reason=Resultwindowistoolarge,from+sizemustbeles......