时间:2021-07-01 10:21:17 帮助过:29人阅读
替换了
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 业务