首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql8.0+版本使用group by 出现的问题

起因: 由于想使用MySQL8的函数,手动将项目中的数据库从5.7升级到了8.0.20 社区版本,但是升级完之后部分查询报错了,错误信息如下 which is not functionally dependent...on columns in GROUP BY clause; this is incompatible withsql_mode=only_full_group_by 去搜了一下,推荐的几篇都说是需要修改配置文件...解决: 客户端或者服务器连上MySQL后输入SELECT @@sql_mode;,得到结果集如下: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE...,[mysqld]下添加一行 sql_mode= STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO...-uroot -p shutdown #启动命令 /data/software/mysql8/bin/mysqld_safe --defaults-file=/data/software/mysql8

8700
您找到你想要的搜索结果了吗?
是的
没有找到

mysql5.7使用group by的注意事项

mysql5.7使用group by的注意事项 1、问题描述 2、解决方案(一): 3、解决方案(二) 4、解决方案(三) 1、云数据库修改方案: 2、本地数据库修改方案: 1、问题描述 先看一个sql...语句报错: select * from oilDaily group by wellId 这是因为mysql5.7开启了sql_mode的“only_full_group_by”,而这个执行以往版本带有...2、解决方案(一): select查找的所有属性都必须出现在group by 比如下面这样(这也是官网的标准写法): select a,b from test group by a,b 3、解决方案...(二) 不需要group by的属性上面使用any_value()函数 例如: select any_value(oilId),wellId from oilDaily group by wellId...4、解决方案(三) 我们直接删除sql_mode的only_full_group_by 我用的mysql云数据库,修改方式如下: 1、云数据库修改方案: 点击管理 点击参数设置

52620

浅析MySQLconcat及group_concat的使用

例2:例1的结果中三个字段id,name,score的组合没有分隔符,我们可以加一个逗号作为分隔符: 这样看上去似乎顺眼了许多~~ 但是输入sql语句麻烦了许多,三个字段需要输入两次逗号,如果10个字段...group by的查询语句中,select指定的字段要么就包含在group by语句的后面,作为分组的依据,要么就包含在聚合函数。...——使用group_concat() 1、功能:将group by产生的同一个分组的值连接起来,返回一个字符串结果。...;如果希望对结果的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。...3、举例: 例7:使用group_concat()和group by显示相同名字的人的id号: 例8:将上面的id号从大到小排序,且用’_’作为分隔符: 例9:上面的查询显示了以name分组的每组中所有的

4.6K40

XCode如何使用高级查询

对于一个框架来说,仅有基本的CURD不行,NewLife.XCode同时还提供了一个非常宽松的方式来使用高级查询,以满足各种复杂的查询需求。...(本文同样适用于其它任何数据访问框架) 先上图看一个复杂查询的效果图: image.png 这里有8个固定的查询条件和1个模糊查询条件,加上多表关联(7张表)、分页、统计,如果用传统的做法,这个查询会非常的复杂...XCode不支持多表关联(v7开始测底不支持,以前的支持太鸡肋,几乎从未使用),这种涉及多表关联的查询,就需要子查询来代替了,看看SearchWhere: image.png image.png 可以看到...各个小片段上使用MakeCondition格式化数据,保证这些代码能根据当前数据库生成相应的语句,使得系统能支持多数据库。比如时间日期类型,MSSQL是单引号边界,Access是井号边界。...NewLife.XCode下载地址:http://XCode.codeplex.com 没有很完整的教程,只有本博客的点点滴滴!

5K60

MySQL递归查询_函数语法检查_GROUP_CONCAT组合结果集的使用

1-前言: MySL使用递归查询是很不方便的,不像SQL Server可以直接使用声明变量,使用虚拟表等等。如:DECLARE,BEGIN ...  END   ,WHILE ,IF 等等。...MySQL可以通过创建函数,来使用上面的流程控制语句,Mysql对函数的语法检查也是很苛刻的,可以说很烦人,不熟悉的人估计会哭。。。...2-递归查询关键部分:   a-我的表结构:   b-我的递归脚本:   用于查询:当前类目ID及所有的父级元素的ID使用逗号分割开的一个字符串:   下面脚本里使用了组合结果集的一个函数:GROUP_CONCAT...,使用该函数可以查不到结果的时候继续给pid赋值,从而跳出循环,详细可参考文章下面的注意点。...SELECT ParentID INTO pid FROM product_leimu WHERE 1=2; -- 找不到数据的情况下, INTO 无法给pid赋值,pid结果不变, SELECT GROUP_CONCAT

2.5K30

MYSQL 8 VS MYSQL 5.7 复杂查询 到底好了多少

MySQL 8 最终是要大面积替换MYSQL5.7 , 之前的文字可能给人感觉MYSQL 8 还不如 MYSQL 5.7 ,实际上不然,任何东西新的一定有问题,解决解决就好了,复杂查询这块 MYSQL...filesort mysql 8.018 mysql 5.7.23 通过这两个例子可以看到,使用GROUP BY 这样的语句,没有特殊优化的情况下,,MYSQL 8 不在使用 FILESORT...排序后,速度有了大幅度的提升,这说明没有优化的情况下,MYSQL 8 对于排序和GROUP BY 这样的查询时有利的,并且随着提取的数据越多,则越快,这对 DEVELOPER 是一个好消息。...的新功能对大部分查询语句是有帮助的,但实际上测试中有些简单的语句,MYSQL 8 并不能占据什么便宜,或者说还可能会比MYSQL 5.7 慢了“一眨眼” 的功夫。...最后总结一下, 如果当前MYSQL 5.X 运行的系统逻辑并不复杂,执行的语句都是简单的,那换了MYSQL 8 可能并不能得到什么好处,甚至会“挨骂”。

2.6K30

winhexctf简单使用

这里就谈谈winhexCTF简单应用,欢迎各位大佬评论区发表高端的操作技巧或者经验分享。...修改文件头 CTF经常会遇到 打开文件错误或者 无法打开文件,但是又已知 文件格式后缀的 可以检查一下文件头或者文件尾是否完整。 常见文件文件头文件尾格式总结及各类文件头 ?...光标点击第一个字符处,点击 编辑——> 粘贴0字节——>弹窗输入0字节数的输入框里输入 4——>确定 ?...修改图片IHDR 文件头数据块IHDR(header chunk):它包含有PNG文件存储的图像数据的基本信息,并要作为第一个数据块出现在PNG数据流,而且一个PNG数据流只能有一个文件头数据块。...首先查询出这些文字的ASCII编码值 一 键 锤 爆 出 题 人 的 头 0x4e00;0x952e;0x9524;0x7206;0x51fa

11.2K61

MySQLGROUP BY情况下直接使用HAVING语句的问题探究

这篇文章主要介绍了MySQLGROUP BY情况下直接使用HAVING语句的问题探究,同时探究了该情况下MAX与MIN功能的使用情况,需要的朋友可以参考下: 今天有同学给我反应,有一张表,id是主键...旁白 一般来说,HAVING子句是配合GROUP BY使用的,单独使用HAVING本身是不符合规范的, 但是MySQL会做一个重写,加上一个GROUP BY NULL,”SELECT * FROM...继续…… 但是,这个 GROUP BY NULL 会产生什么结果呢?经过查看代码和试验,可以证明,GROUP BY NULL 等价于 LIMIT 1: ?...也就是说,GROUP BY NULL 以后,只会有一个分组,里面就是第一行数据。...GROUP BY NULL时MAX/MIN的行为,是这个问题的本质,所以啊,尽量使用标准语法,玩花样SQL之前,一定要搞清楚它的行为是否与理解的一致。

4K41

MySQL5.7使用GROUP_CONCAT数据被截断的问题

前天在生产环境遇到一个问题:使用GROUP_CONCAT函数select出来的数据被截断了,最长长度不超过1024字节,开始还以为是navicat客户端自身对字段长度做了限制的问题。...然后想到1024这个熟悉的数字,会不会是C++框架在接收MySQL通过socket传输过来的数据时被处理了呢?于是手工日志打印这个字段,发现即使数据长度超过1024字节仍然是可以完整显示的。...2 解决问题 只要调整group_concat_max_len到最大值就行了,官方MySQL5.7的手册给出了如下定义: 由于BZ的测试虚拟机MySQL5.7.19是64位的,所以可以通过下面这两种方法配置好...group_concat_max_len为最大值18446744073709551615: #### 方法一:修改MySQL配置文件my.cnf,[mysqld]节点中添加 group_concat_max_len...; 3 测试效果 这里采用的是第二种方法,通过执行SELECT LENGTH(GROUP_CONCAT(Fremark)) FROM account;结果的对比,可以发现已经成功解决了MySQL5.7使用

20210

.Net Core 2.0使用MySQL

之前,我简单的介绍过.net core中使用Mongodb(见文章《.Net Core系列教程(三)——使用Mongodb》),也使用过PostgreSQL(但是没有写文章介绍怎么使用,只是文章《....Net Core系列教程(一)——环境搭建》简单介绍过如何安装)。...下面说下怎样.net core中使用MySQL,这个问题网上随便一搜有很多,我的当然也是从网上搜索来的,只是用自己的语言再次整理下而已。...使用MySQL时,需要使用MySQL的驱动,之前MySQL官方没有出驱动的时候,需要使用第三方的,不过现在有官方的驱动,还是尽量使用官方的吧,我这里也以官方的为准。...需要注意的是,MySQL.Data需要安装最新版的(现在是6.10.3-rc版),旧版本不支持.net core 2.0 先在appsettings.json文件,添加数据库的配置: "ConnectionStrings

1.5K50
领券