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

GROUP BY 出错

代码为:

SELECT goods_id , goods_name FROM tdb_goods GROUP BY goods_name;

报错为:

ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and con

tains nonaggregated column 't2.tdb_goods.goods_id' which is not functionally depen

dent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_g

roup_by


正在回答

3 回答

sql_mode 的问题,改一下应该就可以了。

http://blog.csdn.net/wulantian/article/details/8905573

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

慕容9116793 提问者

我不是写入数据
2016-12-20 回复 有任何疑惑可以回复我~
#2

慕容9116793 提问者

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

589c31990001cf9005000354.jpg

589c319c00011ae105000354.jpg

我改成这个模式然后GROUP BY 就可以正常使用了!!!

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

mysql> DELETE t1 FROM tdb_goods AS t1 LEFT JOIN (SELECT ANY_VALUE(goods_id) AS goo

ds_id , goods_name FROM tdb_goods GROUP BY goods_name HAVING COUNT(goods_name)>1)

AS t2

    -> ON t1.goods_name = t2.goods_name WHERE t1.goods_id > t2.goods_id;

Query OK, 2 rows affected (0.08 sec)

不用改sql_mode

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

举报

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

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

进入课程

GROUP BY 出错

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