当前位置: 首页> 科技> 数码 > 湖州网站优化_东莞市南华职业技术学校_服务网站推广方案_网站优化推广公司排名

湖州网站优化_东莞市南华职业技术学校_服务网站推广方案_网站优化推广公司排名

时间:2025/8/10 12:20:07来源:https://blog.csdn.net/m0_57188252/article/details/147253393 浏览次数:0次
湖州网站优化_东莞市南华职业技术学校_服务网站推广方案_网站优化推广公司排名

 1.分组查询

分组的使用方式:分组查询是为了将数据分成不同的组,然后对每组分别处理,对每组的数据做统计,所以一般都要配合聚集函数来使用。如果不做统计,单纯的分组是没有意义的,单纯分组会返回每组的第一条数据。
我们应该配合聚集函数使用分组,同时注意在聚集结果之前添加分组名称,不然不知道统计结果属于哪一组。
    语法:关键字group by 后面跟上要分组的字段。
    举例:select 班级,avg(年龄) form 表名 group by 班级;

SELECT classnum,AVG(age) FROM studentinfo GROUP BY classnum;


分组也可以加条件: 可以使用having关键字对分组之后统计的聚集结果进行进一步的筛选。having专门配合分组使用。

举例用的bus_car表,

例如

-- 统计不同车型的平均价格,然后只筛选平均价大于40万的车型
SELECT carnumber,AVG(price)FROM bus_car GROUP BY carnumber HAVING AVG(price)>400000;
-- 根据颜色分组,统计每种颜色车的数量,求数量大于3的组
SELECT color,COUNT(*) FROM bus_car GROUP BY color HAVING COUNT(*)>3;
-- 查询bus_rent表,查询租车订单数量排在前三名的操作员
SELECT opername,COUNT(*) FROM bus_rent GROUP BY opername ORDER BY COUNT(*) DESC LIMIT 3;
查询bus_rent表,查询租车订单数量大于等于3个的操作员
SELECT opername,COUNT(*) FROM bus_rent GROUP BY opername HAVING COUNT(*)>=3;

综合使用:
联合使用分组、排序、以及限制返回行数、条件查询等。注意它们的顺序:

select 分组字段,聚集函数统计的分组结果 from 表名 where 条件 group by 分组字段 having 分组之后的条件 order by 排序字段 limit 返回行数;

-- 查询bus_car表,求租金大于2500的平均车价在30万以上的平均车价最贵的汽车类型。
SELECT cartype,AVG(price) 
FROM bus_car WHERE rentprice>2500 
GROUP BY cartype HAVING AVG(price)>300000 
ORDER BY AVG(price) DESC LIMIT 1;


  2.子查询


    子查询就是查询的嵌套,通过()表示嵌套的层级关系。
有的时候我们要查询的数据,一层查询是不够的,拿不到想要的数据。这时候可以把问题分解成两步,第一步先写一个查询,拿到中间数据,这个查询就是子查询。然后再写一个外层的查询,叫做父查询,父查询通过子查询的结果再去查询,得到最终结果。
嵌套查询执行过程:从最里层的查询开始执行,逐步往外执行。

例如·查询班级人数大于30人的班级的学生姓名

SELECT classnum FROM classinfo WHERE studentnums>30; -- 子查询
SELECT stuname FROM studentinfo WHERE classnum IN (SELECT classnum FROM classinfo WHERE studentnums>30); -- 查询嵌套

使用租车数据库,查询操作员李四出租的订单中车的价格

SELECT price FROM bus_car WHERE carnumber IN(SELECT carnumber FROM bus_rent WHERE opername='李四');

查询2019年10月的订单的车型描述信息

SELECT description FROM bus_car WHERE carnumber IN(SELECT DISTINCT carnumber FROM bus_rent WHERE createtime LIKE '2019-10%');


 

关键字:湖州网站优化_东莞市南华职业技术学校_服务网站推广方案_网站优化推广公司排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: