当前位置:Gxlcms > 数据库问题 > mysql中group by优化

mysql中group by优化

时间:2021-07-01 10:21:17 帮助过:29人阅读

actor.first_name,actor.last_name,count(*) from film_actor inner join actor using(actor_id) group by actor.actor_id;

替换了

group by actor.first_name,actor.last_name

这个查询利用了演员的姓名(first_name和last_name)和actor_id直接相关的特点,但是不是所有的关联语句的查询都可以改写成select中直接使用非分组列(first_name,last_name)的形式的。甚至服务器设置sql_mode(ONLY_FULL_GROUP_BY)来禁止这样的写法。如果是这样,可以用min(),max()函数绕过这样的限制,但是一定要清楚,select后面出现的非分组列一定是直接依赖分组列,并且在每一个组内的值是唯一的,或者业务根本不在乎这个值具体是什么。

select min(actor.first_name),max(actor.last_name) .......

 

mysql中group by优化

标签:形式   依赖   sele   利用   服务   min   span   mysq   业务   

人气教程排行