表A 有id name 字段
表B 有id a_id 字段
A的id与B的a_id是一对多的对应关系。
比如
A表有以下数据:
id name
1  aaa
2  bob
3  ccc
4  ddd
B表有以下数据
id a_id
1   1
2   1
3   2
4   1
想要得到表A的所有数据 表B分组的对应A的总和
用这样的sql语句
select A.*,count(B.id) as c from A,B where A.id = B.a_id and e.{$b} GROUP BY B.a_id order by c desc
结果是这样的
id  name  c
1   aaa   3
2   bob   1
这样能出来我想要的结果,但是如果B表中没有某个a_id,那A表的数据也不显示。
我想让他把表A的数据全部显示,也就是把下面的两条都显示上。怎么写sql语句呢?
id  name  c
3   ccc   0
4   ddd   0
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你的写法是内连接,用左外连接就可以了: