数据库 group by

现在有两条简单的题目来了解一下sql查询的基本能力,请回答:
项目上我们手上有两个表P(病人表),S(预约表),P表有两个字段 id,name。S表也有两个字段,id和pid。
两个表 通过S.pid=P.id关联。病人表是所有住院的病人都在里面,预约表是住院病人每次找医生都需要
先预约(此时产生一条预约记录到预约表)。
问题1:某天医院主管提出需求希望看到每个病人的预约次数,sql应该怎么写?
问题2 S表现在加入status字段用于表示预约是否完成,0是未完成,1是已完成,现在需要统计一个病人已完成,未完成,和总的预约次数

这不会是作业吧,哈哈哈

问题1:先对表S进行pid分组统计次数,再根据pid连接P表查出用户名和预约次数(右连接)
问题2: 两张表连表查询,分别统计某个病人已完成预约次数、未完成预约次数和总预约次数

1:select p.name,count(p.id) cs from p LEFT JOIN on s p.id=s.pid group by p.id

2.select b.name,count(a.id) cs,count(a.status=1 OR NULL ) wc,count(a.status=0 OR NULL )wwc from b left JOIN a on b.id=a.pid group by b.id //参考