数据库-sql模式分组报错与修改

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 |
+-----------+----------+----------+------------+

猜你喜欢

转载自blog.csdn.net/m0_46289868/article/details/112919655