Mysql查询不需要Group by的字段方法实例

来自:网络
时间:2024-06-07
阅读:
免费资源网 - https://freexyz.cn/

问题背景

在实际业务场景中,我们有时会对某些字段进行分组统计,并且需要查出多余字段展示。比方说根据机构id统计每个机构下有多少部门,字段展示机构名称、部门数量、机构id。

Mysql查询不需要Group by的字段方法实例

这时会提示查询的字段必须得在group by子句中,否则无法执行。

解决方案

  • 使用any_value,屏蔽严格模式(Oracle、MySql都可)。

Mysql查询不需要Group by的字段方法实例

  • 使用max()或者min函数(Oracle、MySql都可)。

Mysql查询不需要Group by的字段方法实例

  • 修改sql_mode或修改配置文件(仅MySql)。

先查看@@sql_mode模式,看是否开启了only_full_group_by 严格模式。

Mysql查询不需要Group by的字段方法实例

本人本地的Mysql未开启,如果开启的话,而你又想屏蔽严格模式,则执行下列语句即可。

-- 屏蔽严格模式
set @@sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';
-- 查询@@sql_mode
select @@sql_mode

总结 

免费资源网 - https://freexyz.cn/
返回顶部
顶部