ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre

MYSQL
执行

select max(c_id),u_ano,u_bno,c_text from chat A group by concat((if(A.u_ano<A.u_bno,A.u_ano,A.u_bno)),(if(A.u_ano>A.u_bno,A.u_bno,A.u_ano,A.u_bno)));

遇到的问题:

ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘date.chat.u_ano’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

解决:执行
mysql> set global sql_mode=’STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;
mysql> set session sql_mode=’STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;

你可能感兴趣的:(Mysql)