我需要知道是否存在执行此查询的另一种方法。查询性能调优 - 搜索其他选项
表EXAMS
有这样的结构:
EXAM_DATE DATE
SUBJECT VARCHAR2(50);
GRADE NUMBER;
的概念是获得考试的统计数据。
select EXAM_DATE,
SUBJECT,
(SELECT COUNT(1)
from EXAMS
where GRADE IN (9,10)
AND SUBJECT = EXA.SUBJECT
AND EXAM_DATE = EXA.EXAM_DATE) outstanding,
(select count(1)
from EXAMS
where GRADE IN (4,5,6,7,8)
AND SUBJECT = EXA.SUBJECT
AND EXAM_DATE = EXA.EXAM_DATE) approved,
(select count(1)
from EXAMS
where GRADE IN (0,1,2,3)
AND SUBJECT = EXA.SUBJECT
AND EXAM_DATE = EXA.EXAM_DATE) disapproved,
FROM EXAMS EXA
GROUP BY EXAM_DATE,SUBJECT;
谢谢!!
你有什么问题的表现? – Matt 2014-10-08 15:39:54