原因
当SELECT查询中使用了GROUP BY子句对结果集进行分组时,SELECT子句中的每一列都必须是GROUP BY子句中的一部分,或者是聚合函数(如SUM, COUNT, MAX, MIN等)的一部分。如果没有满足这个条件,就会出现这个错误。
解决办法
第1步: 执行 sp_set_para_value函数如下:
select para_name,para_value,para_type from v$dm_ini where para_name='COMPATIBLE_MODE';
#默认 para_value= 0:不兼容
#参数的方法:sp_set_para_value(范围,参数名称,参数值);
sp_set_para_value(2,'COMPATIBLE_MODE',4);
参数说明:
范围: 1 修改内存和参数文件2 修改参数文件
参数值: 0:不兼容,1:兼容SQL92标准,2:兼容ORACLE,3:兼容MS SQL SERVER,4:兼容MYSQL
要求兼容ORACLE,即把参数值改为2。
要求兼容MYSQL,即把参数值改为4。
第2步: 重启服务
#windows系统重启服务:
#停止服务
net stop DmServiceDMSERVER
net stop DmAPService
#启动服务
net start DmServiceDMSERVER
net start DmAPService
#linux系统重启服务
service DmServiceDMSERVER restart