关于mysql5.7 [Err] 1055 group by
来源:互联网 发布:acfunfix.js 编辑:程序博客网 时间:2024/04/19 03:22
我们在用mysql时,有时候我们用group by 分组时在不同版本mysql下运行会报这样的错:[Err] 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'hyeb.p.CHARGE_DATE' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by例如我的查询sql是:
SELECT p.charge_date, r.busi_id FROM pay_charge_record p, busi_order_rel r WHERE p.PAY_TYPE = 'S' AND p.ORDER_FLAG >= 10 AND p.ORDER_NO = r.order_no AND p.CREATE_OPER = 101 GROUP BY busi_id order by charge_date descWHERE p.PAY_TYPE = 'S' AND p.ORDER_FLAG >= 10 AND p.ORDER_NO = r.order_no AND p.CREATE_OPER = 101 GROUP BY r.busi_id order by charge_date desc在mysql5.7版本下报的错就如上。我当时上网搜索了一些资料,说是mysql启用了 only_full_group_by模式,让 GROUP BY的行为与 SQL92 标准一致 ,
因此会报这样的错误。
因此可以用:
SELECT p.charge_date, r.busi_id FROM pay_charge_record p,busi_order_rel r WHERE p.PAY_TYPE = 'S' AND p.ORDER_FLAG >= 10 AND p.ORDER_NO = r.order_no AND p.CREATE_OPER = 101 GROUP BY r.busi_id, p.CHARGE_DATE order by charge_date desc这样写来避免报错,但是查出的结果却不是我们想要的。
所以又上网搜了一些方法,然后参考mysql5.7官方文档可以用 any_value()这个函数来解决问题,SQL如下:
SELECT any_value(p.charge_date) as CHARGE_DATE ,r.busi_id FROM pay_charge_record p,busi_order_rel r WHERE p.PAY_TYPE = 'S' AND p.ORDER_FLAG >= 10 AND p.ORDER_NO = r.order_no AND p.CREATE_OPER = 101 GROUP BY busi_id order by charge_date desc
用了any_value实现了自己想要的结果。但是该函数在mysql5.7版本以下不能使用,当然5.7版本以下也不会报上面的错误。
有时候我们出现上面的错误是因为SQL语句不符合规范,希望该文章对大家有帮助。
阅读全文
0 0
- 关于mysql5.7 [Err] 1055 group by
- MySQL5.7 group by,报错1055
- MySQL5.7 group by报错1055
- MySQL5.7 group by新特性,报错1055
- MySQL5.7 group by新特性,报错1055
- MySQL5.7 group by新特性,报错1055
- MySQL5.7 group by新特性,报错1055
- MySQL5.7 group by新特性,报错1055
- MySQL5.7排序后GROUP BY
- mysql5.7中group by限制
- 关于使用group by对MySQL5.7的JSON类型进行分组
- [Err] ORA-00979: 不是 GROUP BY 表达式
- Ubuntu16.04里mysql5.7运行GROUP BY语句出现ERROR(1055):42000
- mysql5.7group by异常引发的思考
- ubuntu快速安装mysql5.7以及group by 问题
- linux mysql5.7报err 1055错误 sql_mode=only_full_group_by
- 关于group by(mssql2000)
- 关于group by
- java在命令行下编译带有package命名空间的项目
- ANDROID N 分屏设置
- mvs设计模式
- [week 10][Leetcode][Dynamic Programming] Climbing Stairs
- MVC浅谈(转载)
- 关于mysql5.7 [Err] 1055 group by
- Centos7 下如何启动 Tomcat
- Response对象和常用API
- [CQOI2015]网络吞吐量
- Maven管理的jar没有发布到WEB-INF/lib下的解决方案
- LeetCode:Convert Sorted List to Binary Search Tr
- javascript var声明变量提升
- python下在txt指定行追加文本
- POJ3977(折半枚举)