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

查找所有分类及其子类的数目,显示错误

为什么当我查找所有分类及其子类,用
SELECT p.type_id,p.type_name,s.type_name FROM tdb_goods_types AS p LEFT JOIN tdb_goods_types AS  s ON s.parent_id = p.type_id;

正确,但是在后面加上GROUP BY p.type_name;不对啊。显示

 Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 't1.s.type_name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

正在回答

7 回答

你把你加上GROUP BY的代码发出来一起看下啊

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

set@@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

去掉ONLY_FULL_GROUP_BY即可正常执行sql.


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

我也有同样的问题

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

同学你要是方便的话,把我上传的图中的sql语句,也就是在数据准备文件中的sql语句那几句,看看你那可以吗?我这里就是复制的原句就是不行。

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

http://img1.sycdn.imooc.com//5928438600019d0019200908.jpg可是我这为什么不行呢?很困惑

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

代码没有错啊,我在我的mysql上测试了都是对的,看那段提起,说的是你t1.s.type_name有问题,应该和你当时as  S的时候有关吧,你现在用上面的代码测试还是不行吗?我觉得可以第一步检查你的t1文件,然后再看你的tdb_goods_types这个表,以上两个表如果都没有问题,你在试试这个代码,我是用cmd测试的,完全没问题啊。

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

SELECT p.type_id,p.type_name,count(s.type_name) AS children_count FROM tdb_goods_types AS p LEFT JOIN tdb_goods_types AS s ON s.parent_id = p.type_id GROUP BY p.type_name ORDER BY p.type_id;就是视频中的原句。

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

举报

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

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

进入课程

查找所有分类及其子类的数目,显示错误

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