sql模式报错:
mysql> select dname,max(sai),min(sai),avg(sai) from emp e inner join dept d on e.deptno=d.ddeptno and e.deptno=10;
ERROR 1140 (42000): In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'db1.d.dname'; this is incompatible with sql_mode=only_full_group_by
sql模式修改:
1、查询sql模式
mysql> show variables like 'sql_mode%' ;
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| sql_mode | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
2、修改sql模式:
mysql> 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';
3、测试查询:
mysql> select dname,max(sai),min(sai),avg(sai) from emp e inner join dept d on e.deptno=d.deptno and e.deptno=10;
+-----------+----------+----------+------------+
| dname | max(sai) | min(sai) | avg(sai) |
+-----------+----------+----------+------------+
| 教研部 | 50000 | 13000 | 29166.6667 |
+-----------+----------+----------+------------+