请大神写一个有关ORACLE数据库分组查询的sql语句 ,详情如下,感激不尽

2019-09-21 15:02发布

问题:

1.考场表(包含考场名)
2.考生信息表(主要包含流水号,考场名)
3.考试表(包含考生流水号,每次考试生成一条记录)

求助:以考场为分组,查询某日所有考场的考生人数和次数。
如:在2012年12月20日的数据应显示

考场1 5人 9次
考场2 0人 0次
考场3 3人 3次

如果考场为0人,0次考试无论如何也显示不出来 ,求大神帮忙。

回答1:

查询数据不对等的,用子查询吧分别得到结果

selec t2.考场名,
(select count(1) from 考生信息表 t1 where t.考场名=t1.考场名) 考生人数,
(select count(1) from 考生信息表 t1,考试表 t2 where t1.考生流水号=t2.考生流水号 and  t.考场名=t1.考场名 and t2.日=某日) 次数
from 考场表 t