only full group by问题的解约方案

这个报错的原因是,在SQL语句中,你查询的字段应该是你分组的依据,即selectcolumn应该全部跟在group by之后。这个也和MySQL的版本有关系,MySQL5.7版本默认设置了 mysql sql_mode = only_full_group_by 属性。

-- 如何查看MySQL的版本?

show variables like 'version';

-- 查看当前的sql_mode

show variables like 'sql_mode';

1. 懒省事做法-修改sql_mode

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';

2. 使用正确的SQL语句

查询的字段需要全部作为分组的依据,但是实际情况下我们很多情况都是只根据一个字段来做分组,而且还需要对分组的数据进行某种规则的排序,来筛选出一条数据,那么可以通过如下SQL来实现:

select * from table_A a inner join (select col_1,max(col_2) col_2 from table_A group by col_1) tem on a.col_2 = tem.col_2

最新文章

  1. 三层架构的OPP实现的演示例子
  2. nodejs链接mongodb数据库
  3. JSON 基础知识总结
  4. Python字典方法copy()和deepcopy()的区别
  5. Qt on_pushButton_clicked()的用法【worldsing笔记】
  6. MySql中having字句对组记录进行筛选使用说明
  7. jQuery Mobile 图标无法显示
  8. 看看国外的javascript题目,你能全部做对吗?(分享)
  9. Eclipse+EGit的配置注意点, 以及解决Github多个本地仓库之间的冲突
  10. MySQL学习系列一---命令行连接mysql和执行sql文件
  11. 键盘皇者 RealForce 104Pro独家评测
  12. QlikView同button控制转换图表类型(例如,变成一个垂直的条形图)
  13. 干货|一个案例学会Spring Security 中使用 JWT
  14. SrpingBoot部署到云服务器
  15. laravel使用 面向对象的方式绑定多对多的关系
  16. ERP结账不自动清台的解决办法
  17. HTML常用标签1
  18. Hibernate初学
  19. ROI align解释
  20. java 问题

热门文章

  1. Redis的一致性哈希算法
  2. python基础 (三)
  3. IOS 真机调试和发布相关证书
  4. [BUUCTF]REVERSE——内涵的软件
  5. 2020腾讯犀牛鸟网络安全T-Star高校挑战赛writeup
  6. Python旋转魔方阵
  7. WebApi的前端调用
  8. java File 类对操作系统文件目录进行操作:增删查
  9. CentOS7下使用NFS文件共享给Window server 2012
  10. JAVA获得websocket请求路径前缀