输入banner图图片脚本导航/分类

mysql中group by优化

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   业务