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

今天发现一个sql查询的问题

今天发现一个sql查询的问题

zllo 2017-06-26 20:09:54
SELECT m.id,count(*) as qq FROM xmx_users m LEFT JOIN xmx_users n on m.id = n.recommend_id GROUP BY id 这条sql ,查询出来的结果即使没有符合条件的也显示数量为1。表:CREATE TABLE IF NOT EXISTS `xmx_users ` (  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,  `recommend_id` int(10) unsigned NOT NULL DEFAULT '0',  PRIMARY KEY (`id`)) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;测试数据:INSERT INTO `xmx_users ` (`id`,`recommend_id`) VALUES(2, 0),(3, 2),(5,  2),(6,  0),(7, 5),(8,  0),(9, 0),(10, 0),(11,5),(13,  7);
查看完整描述

3 回答

已采纳
?
仙士可

TA贡献170条经验 获得超132个赞

你的语句根本没条件啊,返回数据不是很正常么,如果你说join的是条件的话,那么left join的意思就是说就算没条件,我也可以返回主查询的数据啊

查看完整回答
反对 回复 2017-06-26
?
zllo

TA贡献1条经验 获得超0个赞

有没有解决的方法

查看完整回答
反对 回复 2017-06-26
  • 3 回答
  • 0 关注
  • 2220 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信