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

今天发现一个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);

查看完整描述

2 回答

已采纳
?
仙士可

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

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

有没有解决的方法

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

添加回答

回复

举报

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