bell ^+^ 2021-12-31 21:05 采纳率: 100%
浏览 42
已结题

关于Mysql8 FULL_GROUP_BY的问题

在mysql的学习中,不是很清楚什么是 FULL_GROUP_BY。
想着不改变全局变量的 @@sql_mode 来达到类似于分组、统计的效果。
在CSDN上浏览的博客都是教怎么改变MySQL。

CSDN MYSQL升级后GROUP BY语句出错解决方法

既然MySQL这样做了,肯定有它的道理,该变的是我们。是我们该学习完全分组(FULL_GROUP)是怎么表述的儿不是去更改MySQL。
所以请教一下: MySQL8怎么写才能在不修改原本配置的条件下做到 分组计数、最大值、最小值等操作?

MySQL Server Version: 8.0.26

select *,count(*) as cou from stu group by age;
ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated 
        column 'firstDB.stu.StuNum' which is not functionally dependent on columns in GROUP BY clause;
         this is incompatible with sql_mode=only_full_group_by
  • 写回答

3条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2021-12-31 22:03
    关注

    像你上面这个语句,正确的写法应该是

    select  age,count(*) as cou from stu group by age;
    

    另外这个报错"ERROR 1046 (3D000): No database selected"是没有选择数据库

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 修改了问题 1月1日
  • 修改了问题 1月1日
  • 展开全部

悬赏问题

  • ¥15 ubuntu20.04怎么安装yolov5(已经安装anaconda)
  • ¥100 基于delphi10.2几个功能的程序demo
  • ¥15 TinyMCE如何去掉自动弹出的“链接…”工具?
  • ¥15 微信支付转账凭证,如何解决
  • ¥15 在win10下使用指纹登录时,界面上的文字最后一个字产生换行现象
  • ¥20 使用AT89C51微控制器和MAX7219驱动器来实现0到99秒的秒表计数,有开始和暂停以及复位功能,下面有仿真图,请根据仿真图来设计c语言程序
  • ¥15 51单片机 双路ad同步采样
  • ¥15 使用xdocreport 生成word
  • ¥15 请教怎么用MATLAB求坐标
  • ¥15 gradle整合es,在创建索引时报错