count where group by 查询问题求助

sosqrn975 sosqrn975 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
各位好,有个问题请教大家:


drop table ta;
drop table tb;

create table ta(
id int(4) primary key not null auto_increment,
user_id int (4),
name varchar(10)
);

create table tb(
id int(4) primary key not null auto_increment,
fid int(4) comment 'ref ta.id',
status int(1)
);

insert into ta(user_id,name) values(1,'lua');
insert into ta(user_id,name) values(1,'aix');
insert into ta(user_id,name) values(2,'java');
insert into ta(user_id,name) values(2,'cpp');
insert into ta(user_id,name) values(2,'csharp');
insert into ta(user_id,name) values(3,'linux');
insert into ta(user_id,name) values(9,'id');

insert into tb(fid,status) values(1,1);
insert into tb(fid,status) values(3,1);
insert into tb(fid,status) values(4,1);
insert into tb(fid,status) values(5,0);
insert into tb(fid,status) values(7,0);

select * from ta;
select * from tb;
select ta.id,ta.user_id,ta.name,tb.id as tbId,tb.fid,tb.status,count(tb.fid) countFid from ta left join tb on ta.id = tb.fid
-- where tb.status = 1
group by ta.id;


我想要的结果是没有注释where前的类似结果,即保证左连左表所有记录都在,没有记录的count以0显示,谢谢~
...全文
评论 3
收藏 已收藏
分享
返回顶部
sosqrn975
MySQL 57,062 成员 56,759 内容