group by与max函数配合使用问题

阅读: 评论:0

group by与max函数配合使用问题

group by与max函数配合使用问题

一张剧目演出表,表中有(剧目ID,剧目名称name,演出单位desp,票房price),问:查询出每个演出单位票房最高的剧目名称?
select names,desp,max(price) from show_plan group by desp;  #此法不对 第二张图片对比第一张有没有发现name字段信息不对? 虽然找到的是最大的price,但是与之匹配的剧目名称names却不对应,而是group by分组后的第一条记录的基本信息。

以下两种方法可以解决:

法1:select * from show_plan s where s.price =(select max (price ) from show_plan where s.desp=desp ) order by desp;    法2:select * from (select * from show_plan order by price desc limit 10000 ) t group by desp #limit 10000必须有,否则查询不对

执行时间对比:方法2执行效率更高些

本文发布于:2024-02-02 16:19:45,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170686198544970.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   group   max
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23