怜晚情之泪 2017-03-31 19:25:37 10318次浏览 0条评论 0 0 0

一、group分组问题--头疼的问题
我有三张表
表一:user_info 账户表 表二:user_road_car 赛道表 表三:user_road_open 我跑过的赛道

这个三张表做了表连接 但进行分组的时候 一直报错

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #18 of 
SELECT list is not in GROUP BY clause and contains nonaggregated column 
'sd.p.open_id' which is not functionally dependent on columns in 
GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

针对这两个错误的解决方法
首先在数据库 解决一下
1将下面语句复制到数据库 直接运行

set @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

2.sd.p.open_id 这个地方 是指 groupBy 分组的条件

->groupBy("`c`.`road_id`,`p`.`open_id`,`p`.`user_id`,`u`.`info_id`")

这个地方的值 需要匹配表中的字段 分组的条件是各个表中的主外键。

    没有找到数据。
您需要登录后才可以评论。登录 | 立即注册