在准备开发博客系统的前期,观摩了一位大佬的源码:http://pan.baidu.com/s/1eRfrsAm

这是16年的一份博客源码系统,但是在测试部署时发现了一个问题不解!!!

后网上资源解析说与Group by分组条件相关,本人对数据库mysql也是有所学习,但是在这种分组与排序中经常被难倒,于是乎写下这篇,做为记录

idea:控制台server界面输出:

十月 16, 2019 10:29:55 下午 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc

严重: The web application [/Blog] registered the JDBC driver [com.alibaba.druid.proxy.DruidDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

十月 16, 2019 10:29:55 下午 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc

严重: The web application [/Blog] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

[2019-10-16 10:29:55,151] Artifact Blog:war exploded: Error during artifact deployment. See server log for details.

十月 16, 2019 10:30:00 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory C:\Tomcat\apache-tomcat-7.0.67\webapps\manager

十月 16, 2019 10:30:00 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory C:\Tomcat\apache-tomcat-7.0.67\webapps\manager has finished in 86 ms

tomcat log输出:

org.springframework.jdbc.BadSqlGrammarException:

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'db_blog.t2.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

The error may exist in file Blog\target\Blog\WEB-INF\classes\com\java1234\mappers\BlogTypeMapper.xml]

The error may involve defaultParameterMap

The error occurred while setting parameters

SQL: SELECT t2.id,t2.typeName,COUNT(t1.id) AS blogCount FROM tblog t1 RIGHT JOIN tblogType t2 ON t1.typeId=t2.id GROUP BY t2.typeName order by t2.orderNo;

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'db_blog.t2.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'db_blog.t2.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

其实这边idea已经很明显的指出了是分组带来的错误,在岁连表查询过程中的t2名称表的id查询出错

正规解释:db_blog.t2.id 在 GROUP BY 中违背了 mysql 的规则。

select 字段必须都在 group by 分组条件内(含有函数的字段除外)。(如果遇到 order by 也出现这个问题,同理,order by 字段也都要在group by内 )

于是乎, GROUP BY 中加入 t2.id,成功解决问题。

SELECT

t2.id,

t2.typeName,

COUNT( t1.id ) AS blogCount

FROM

t_blog t1

RIGHT JOIN t_blogtype t2 ON t1.typeId = t2.id

GROUP BY

t2.typeName,

t2.id

ORDER BY

t2.orderNo;

如果这些还没解析明白,可以去https://blog.csdn.net/u010429286/article/details/64444271 看看

mysql group by 规则_MySQL 中关于 GROUP BY 的问题相关推荐

  1. mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天

    mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...

  2. mysql group by having count_mysql中count(), group by, order by使用详解

    最近做IM的时候遇到一个问题,同时用到了这三个关键字.就是查询一个人的离线消息详情,我们服务端返回给客户端显示的这个详情包括了三个内容,第一个要求列出离线这段时间哪些人或者群给你发了消息,第二个这其中 ...

  3. mysql 中文字符排序规则_mysql中字符集和排序规则说明

    数据库需要适应各种语言和字符就需要支持不同的字符集(Character Set),每种字符集也有各自的排序规则(Collation). 一.字符集 字符集,即用于定义字符在数据库中的编码的集合. 常见 ...

  4. mysql密码命名规则_MySql命名规范

    数据库环境 dev:开发环境,开发可读写,可修改表结构.开发人员可以修改表结构,可以随意修改其中的数据但是需要保证不影响其他开发同事. qa:测试环境,开发可读写,开发人员可以通过工具修改表结构. s ...

  5. mysql的concat函数_MySQL中concat函数(连接字符串)

    MySQL中concat函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制 ...

  6. mysql rowid踢重_MySQL中主键与rowid的使用陷阱总结

    前言 大家在MySQL中我们可能听到过rowid的概念,但是却很难去测试实践,不可避免会有一些疑惑,比如: 如何感受到rowid的存在: rowid和主键有什么关联关系: 在主键的使用中存在哪些隐患: ...

  7. mysql 字符集 校验规则_MySQL字符集及校验规则

    1.字符集 # Mysql 的字符集有4个级别的默认设置:服务器级,数据库级,表级和字段级,客户端交互时,也可以指定字符集 # 字符集:是一个系统支持的所有抽象字符的集合.字符是各种文字和符号的总称, ...

  8. mysql日期格式化季度_mysql中常用日期比较与计算函数

    MySql中时间比较的实现 unix_timestamp() unix_timestamp 函数可以接受一个参数,也可以不使用参数. 它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1 ...

  9. mysql添加临时索引_mysql 中添加索引的三种方法

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

最新文章

  1. ppct各代表什么_开关背面L、L1、L2各代表什么?火线,零线,地线怎样接?
  2. Ubuntu16.04 搭建SVN服务器(建立版本仓及import和checkout代码)
  3. Arduino终于支持代码补全了!小白们终于可以愉快的写代码了!Arduino IDE 2.0beta功能简介...
  4. 街机linux有安卓好吗,Ubuntu下用xmame玩街机游戏
  5. 批量替换文件夹下所有文件的内容
  6. 【远程办公】5分钟一拍照、10分钟一截屏 ?
  7. 浏览器填写数据,跳转页面返回数据不消失
  8. 数据结构与算法-索引1909
  9. linux内核网络子系统收发过程剖析
  10. 东北大学计算机生源,辽宁省2021年普通高校招生计划,东北大学、大连理工大学没有扩招...
  11. [Flash开发笔记] Flash 执行exe文件
  12. xp3系统配置cocos2dx
  13. 律动荆棘皇冠 Crown of Thorns
  14. 异次元发卡源码/荔枝发卡V3.0二次元风格发卡网全开源源码/对接免签约支付接口
  15. 也谈谈我对腾讯“抄袭”的认识
  16. Oceanbase 扩容TPC-H测试
  17. python 效率 算法_python – 算法(prob solve)实现最快的运行时间
  18. Commvault蔡报永:点亮你的暗数据
  19. Python之 【模型建立和测试-模型测试模板】
  20. 力扣算法学习计划打卡:第七天

热门文章

  1. Fiori launchpad里Enter Group name这个tile是怎么配置出来的
  2. smart filter无法从smart business应用获得值的问题分析
  3. SPRO事务码里如何开发一个新的customizing activity
  4. Action framework BAdI Definition TRIGGER_EXECUTED
  5. 如何查看AWS实例上使用的key value pair名称
  6. C4C和CRM里获取当前登录用户分配的Organization Unit信息
  7. 整型数组中三个数的最大乘积
  8. 【测评】用这款神器2小时就撸完了1天工作量的代码!爽
  9. python增量更新数据,Python中的增量最近邻算法
  10. linux compress参数,compress命令_Linux compress 命令用法详解:使用Lempress-Ziv编码压缩数据文件...