当前位置: 首页 > 知识库问答 >
问题:

mysql 必须group by全部select中的字段?

徐淳
2023-09-11

**
我发现mysql的group by 后面的字段没有严格要求,甚至select后面的字段可以不出现在group by后面**

共有1个答案

庾远航
2023-09-11

这取决于 SQL_MODE 的设置,自 MySQL 5.7 开始,默认的 SQL_MODE 中启用了 ONLY_FULL_GROUP_BY,所以 select 后面的列必须出现在 group by 后面,但是你可以手动移除掉这个选项以禁用,禁用后就不再检查。

  • MySQL :: MySQL 5.7 Reference Manual :: 1.3 What Is New in MySQL 5.7
 类似资料:
  • 问题内容: 我刚刚创建了自己的第一个mySQL表(不是使用Joomla,Wordpress等),并且我是MS SQL开发人员多年,但是通常我可以轻松地在MS SQL中创建外键,但是遇到了困难或这里缺乏知识。 这是我的桌子: 使用者 user_id int主要auto_increment 用户名varchar(20) 密码varchar(20) 帖子 主auto_increment中的post_id

  • 问题内容: 我一直在寻找必须在ms sql服务器中转义的特殊字符列表,但找不到针对我建议使用参数化查询的类似问题的大部分答案。我已经在做,但是我正在使用的框架没有为我做任何逃避。 因此,我以为我会尝试一下,看看哪个失败了....我尝试了一个简单的查询 在这样的查询中,我尝试了几乎可以在键盘上找到的所有字符,并且所有这些字符似乎都可以正常工作……除了单引号..那个失败了。 因此,我想知道无效的字符列

  • 我正在寻找必须在ms sql服务器中转义的特殊字符列表,但找不到我看到的类似问题的大部分答案,建议使用参数化查询...我已经在做了,但我使用的框架不会为我做任何转义。 因此,我想我会试一试,看看哪一个失败了......我尝试了一个简单的查询 在这样的查询中,我尝试了键盘上能找到的几乎所有字符,所有字符似乎都能正常工作。。。除了单引号。。那一个失败了。 因此,我想知道ms sql server-ts

  • 看起来它工作得很好,但我想知道我是否必须确保新代码需要线程安全?这里有什么意见吗?抱歉用了假名字,提前致谢。

  • 问题内容: 我试图使一些MSSQL代码也可以在MYSQL上运行,而我只是碰到了这个地雷。谷歌表示,通常的方法是简单地进行插入,然后选择last_insert_ID()来查找所写的内容。 但是,这在多用户环境中并不令我感到安全。那里有一个狭窄的窗口,另一个用户可以在其中插入一些东西并导致错误的返回值。如何 安全 插入并获取插入记录的密钥? 问题答案: https://dev.mysql.com/do

  • 我正在尝试制作一些SQL 不过,我觉得这在多用户环境中并不安全。那里有一个狭窄的窗口,另一个用户可以在那里插入一些东西,并导致一个错误的返回值。如何安全地插入并获取插入记录的密钥?