本文所使用的表:

表 sc

±-----±------+
| sid | score |
±-----±------+
| 01 | 80.0 |
| 01 | 90.0 |
| 01 | 99.0 |
| 02 | 70.0 |
| 02 | 60.0 |
| 02 | 80.0 |
| 03 | 80.0 |
| 03 | 80.0 |
| 03 | 80.0 |
±-----±------+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
group by
sql经常会出现以下错误

ERROR 1140 (42000): In aggregated query without GROUP BY
1
首先解释一下

aggregate 是sql中函数的一个种类,这类函数称为聚合函数,以下都是聚合函数

AVG() - 返回平均值
COUNT() - 返回行数
FIRST() - 返回第一个记录的值
LAST() - 返回最后一个记录的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回总和
所以这个错误就是说你写了一条包含 aggregate函数的查询语句但是没有使用 group by 分组。

那么,为什么没有使用 group by 分组就是错误呢?

以 聚合函数中的 sum 函数为例。sum (score) 计算 score 列的和,如果在sql查询语句中同时选择了 sid 和 sum (score)

select sid,sum(score) from sc;
1
设想一下上面的语句会返回什么结果?返回的结果中两列之间有强烈的关联吗?

显然这样的查询语句意义不明,所以也就无法返回一个关系比较合理的表。

为了使返回结果合理,就要让查询语句的意义进一步明确。

所以 需要 用 group by 来修饰上面的查询语句。

group by 的字面意思是 “以……分组”,在 sql 中转门用来修饰聚合函数

select sid,sum(score) from sc
group by sid;
1
2
上面的sql 语句意思就是 以sid 作为分组的依据,对 score 进行分组求和。那么求得的 sum 就与 sid 有正确的一一对应关系,在此例中就是含义就是每个sid 的 总分。

当sql查询语句中除了聚合函数外选择了多个字段,在group by 的时候都要加上,道理很简单,如果只用
多个字段中的一个字段作为分组的依据,那么剩下的字段任然无法与 聚合函数之间构成有明确合理的关联。

最后,通过修改 sql_mode 变量,可以使得聚合函数不强制绑定 group by 任然能返回结果,修改方式如下

set sql_mode =‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’;
————————————————
版权声明:本文为CSDN博主「lubxx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lubxx/article/details/107871766

参考以上内容,项目上报错,由于不允许改动sql_mode 变量,只能改动SQL语句

查找到具体原因为mapper中的SQL
改动后的SQL

In aggregated query without GROUP BY是什么错误相关推荐

  1. In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column...

    ERROR 1140 (42000): In aggregated query without GROUP BY, expression #1 of SELECT list contains nona ...

  2. In aggregated query without GROUP BY报错

    记录一下关于mysql的一个报错问题解决方案:In aggregated query without GROUP BY, expression #1 of SELECT list contains n ...

  3. mysql查询出现In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated c

    1.问题: Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: In ...

  4. mysql:In aggregated query without GROUP BY, expression #1 of SELECT list contains...........

    文章目录 问题描述 问题溯源 解决方式一 解决方法二 附录: 问题描述 下面是报错截图: 1140 - In aggregated query without GROUP BY, expression ...

  5. MYSQL||报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated

    碎碎念: 兄弟萌,我胡汉三又回来啦(。・∀・)ノ゙嗨,最近在期末考,一不小心二十几天没发博了,年底KPI没冲成功,今天就来补一下下§(* ̄▽ ̄*)§ 一.问题描述 今天在牛客网做SQL的题:牛客的课程 ...

  6. mysql 报错:1140 In aggregated query without GROUP BY, expression #

    1140 In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated colum ...

  7. In aggregated query without GROUP BY

    1.问题: 查询语句: select count(support) supportCount,count(collection) collectionCount, support,collection ...

  8. MySQLSyntaxErrorException: In aggregated query without GROUP BY聚合查询语法异常

    MySQLSyntaxErrorException: In aggregated query without GROUP BY,this is incompatible with sql_mode=o ...

  9. mysql报错In aggregated query without GROUP BY

    执行语句: select de.dept_no, count(s.salary) from salaries s left join dept_emp de on s.emp_no = de.emp_ ...

最新文章

  1. linux shell tr命令 换行符换成空格
  2. html前端获取地理位置_简单阐述什么是前端?后端?
  3. dataframe 提取月数据_pandas dataframe数据提取的方法
  4. thymeleaf体验
  5. Squid服务日志分析
  6. python程序源码百行_百行python代码,轻松完成贪吃蛇小游戏
  7. 公众号文章折叠点击后展开案例_(案例)蜂窝纸板在包装中的应用重型箱
  8. 05:整数序列的元素最大跨度值
  9. 栈和队列8 - 数据结构和算法30
  10. 24个可能你现在用不到,但应该了解的 PHP 库
  11. Android自定义gif进度条,Android自定义view-圆形百分比进度条效果
  12. halcon学习-网格校正
  13. 三维空间内点到直线的距离计算公式
  14. 大一java实训报告1500字_java实训报告两篇
  15. 计算机不能打印pdf文档怎么办,pdf无法打印怎么处理_pdf文件无法打印的三种解决方法...
  16. node文件上传插件formidable的使用
  17. 笔记整理 之 ERROR 1336 (0A000)问题记录
  18. 大理古城“八戒”“悟空”与游客互殴 警方已介入
  19. 计算机切换桌面快捷方式,显示桌面快捷键,教您win10怎样快速切换到桌面
  20. 安装CARLA Simulator错误 安装失败 0x80070005 - 访问被拒绝 Error Setup Failed 0x80070005 - Access is denied

热门文章

  1. NanoPi开发板硬件接口
  2. 2018秋季前端面试问题总结
  3. 使用MySQL Workbench 导入数据ERROR: Import data file: 'ascii' codec can't decode byte 0xc3 in position...
  4. MSN pk QQ - 看软件重点用户体验
  5. 长安大学计算机技术历年复试线,长安大学2011年-2013年研究生历年复试分数线汇总.xls...
  6. TensorFlow Object Detection API 超详细教程和踩坑过程
  7. 【Android】共享元素 share elements TextView颜色大小动画过度
  8. Paper中含有Type3的字体,需要修改为Type1字体
  9. 分享|雄安新区2021年大数据研究报告(附PDF)
  10. Delphi 多线程传递参数的问题