为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:V8
【操作系统】:windows 11
【问题描述】*:DM Database Server 64 V8
DB Version: 0x7000c
03134284058-20231122-209351-20046 这个版本 如何配置sql 语法,例如 写的sql select mn.pro_id AS proId,
gp.pro_name AS proName,
gp.pro_area AS proArea, from A 表 left join B表 GROUP BY
gp.pro_name,
gp.pro_area 就会报错,还有 order by 后面的字段要和group by 的字段保持一致,不一致也会提示语法错误,
但是 DM Database Server 64 V8
DB Version: 0x7000c
03134284194-20240621-232765-20108
Msg Version: 12
Gsu level(5) cnt: 0 和DM Database Server 64 V8
DB Version: 0x7000c
03134284058-20231122-209351-20046 这两个版本都没问题
正常的语法,是要求select中字段如果没有进行非聚合函数运算,那么都应该在group by 中,这种是称为完全group by。
你当前的写法,不满足完全group by,被称之为不完全group by ,通常在MySQL中常见,是一种不推荐的写法。
如果一定要用,DM中提供了参数可以兼容:
GROUP_OPT_FLAG=1时可实现,其他参数选型可以查看管理员手册。