达梦数据库: SQL查询报错《不是 GROUP BY 表达式解决方法》 ...

打印 上一主题 下一主题

主题 906|帖子 906|积分 2718

报错信息:
  1. ****: 第4 行附近出现错误:
  2. 不是 GROUP BY 表达式
复制代码
修改办法:

达梦可以配置兼容参数,COMPATIBLE_MODE=4,静态参数,需要重启数据库后生效!
  1. sp_set_para_value(2,'COMPATIBLE_MODE',4);
  2. select para_name,para_value,file_value from v$dm_ini where para_name='COMPATIBLE_MODE';
复制代码
!!注意修改后需要重启数据库!!
解释
  1. COMPATIBLE_MODE参数解释:
  2. 0: 不兼容
  3. 1:兼容 SQL92 标准
  4. 2: 部分兼容 ORACLE
  5. 3: 部分兼容 MS SQL SERVER
  6. 4: 部分兼容 MYSQL
  7. 5:兼容 DM6
  8. 6: 部分兼容 TERADATA
复制代码
使用 GROUP BY 要注意以下问题:
  1. 1.在 GROUP BY 子句中的每一列必须明确地命名属于在 FROM 子句中命名的表的一列。分组列的数据类型不能是多媒体数据类型;
  2. 2.分组列不能为集函数表达式或者在 SELECT 子句中定义的别名;
  3. 3.当分组列值包含空值时,则空值作为一个独立组;
  4. 4.当分组列包含多个列名时,则按照 GROUP BY 子句中列出现的顺序进行分组;
  5. 5. GROUP BY 子句中至多可包含 255 个分组列;
  6. 6. ROLLUP\CUBE\GROUPING SETS 组合不能超过 9 个。
复制代码
原文链接:https://blog.csdn.net/qq_37898570/article/details/126951104

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户云卷云舒

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表