Mysql查询不需要Group by的字段方法实例
问题背景在实际业务场景中,我们有时会对某些字段进行分组统计,并且需要查出多余字段展示。比方说根据机构id统计每个机构下有多少部门,字段展示机构名称、部门数量、机构id。这时会提示查询的字段必须得在gr
问题背景
在实际业务场景中,我们有时会对某些字段进行分组统计,并且需要查出多余字段展示。比方说根据机构id统计每个机构下有多少部门,字段展示机构名称、部门数量、机构id。

这时会提示查询的字段必须得在group by子句中,否则无法执行。
解决方案
- 使用any_value,屏蔽严格模式(oracle、mysql都可)。

- 使用max()或者min函数(oracle、mysql都可)。

- 修改sql_mode或修改配置文件(仅mysql)。
先查看@@sql_mode模式,看是否开启了only_full_group_by 严格模式。

本人本地的mysql未开启,如果开启的话,而你又想屏蔽严格模式,则执行下列语句即可。
-- 屏蔽严格模式
set @@sql_mode = 'strict_trans_tables,no_engine_substitution';
-- 查询@@sql_mode
select @@sql_mode
总结
到此这篇关于mysql查询不需要group by字段的文章就介绍到这了,更多相关mysql查询不需要groupby字段内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
相关文章:
-
详解MySQL如何避免全表扫描
这篇文章解释了何时以及为什么mysql会执行全表扫描来解析查询,以及如何避免在大型表上进行不必要的全表扫描。何时会发生全表扫描mysql使用全表扫描(在expl...
[阅读全文]
-
-
mysql中int类型对应于java中的long类型bug日记在写项目的时候碰到了就顺便记录一下,事情的经过是这样的↓在数据库查询完后映射到po类的时候报了错娃子还小不懂…
-
-
问题总是遇到mysql服务意外断开之后导致mysql服务无法正常运行的情况,使用navicat工具查看能够看到里面的库和表,但是无法获取数据记录,提示数据表不存在。这里记录一下用f…
-
1、数据如下,获取每个用户最近的一次登录数据思路1:order by + group by 先根据userid+logintime排序,再利用group分组,即可得到每个user…
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论