为了账号安全,请及时绑定邮箱和手机立即绑定

视频中的SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name;为什么能执行成功呢?

SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name;

查询的goods_id列不是不符合group by的使用规则吗,为什么视频中就执行成功了?

正在回答

4 回答

你不是以goods_name为查询结果分组的吗?怎么谈到goods_id上去了?

1 回复 有任何疑惑可以回复我~
#1

昔_年 提问者

视频中是这样做的,根据group by的使用规则,goods_id是不能有的列,但是视频中,这句话就能执行,自己做的时候就执行不了,你可以看下视频。
2016-09-25 回复 有任何疑惑可以回复我~
#2

昔_年 提问者

非常感谢!
2016-10-09 回复 有任何疑惑可以回复我~

我查到  这个错误出现,group by  后的字段要与 select 后的字段相同,

如果想要只写一个字段 就要加 set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

可以查看mysql5.1参考手册 5.3.2 SQL服务器模式 一节

出处http://www.imooc.com/qadetail/162552


0 回复 有任何疑惑可以回复我~

我的也是,

不知道,为啥,就是执行不了,代码也对啊

SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name;


0 回复 有任何疑惑可以回复我~

视频中是这样做的,根据group by的使用规则,goods_id是不能有的列,但是视频中,这句话就能执行,自己做的时候就执行不了

0 回复 有任何疑惑可以回复我~
#1

侠客岛的含笑

我们都能执行啊
2016-09-30 回复 有任何疑惑可以回复我~
#2

慕姐6048975

我的是可以执行的哦
2016-12-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

视频中的SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name;为什么能执行成功呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信