Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
223 views
in Technique[技术] by (71.8m points)

oracle sql to calculate average of subjects

My subject view table looks like below,

subject_vw
Number  Subject q1  q2  q3  q4 Suffi
123     Math    90  95  85  90  8
123     Sci     90  90  90  90  9
123     CSci    89  80  70  90  10
123     Math    90  95  85  90  8

Query

select
NVL(e.subject,
    'Total') as subject,
    sum(q1)||'%' as q1,
    sum(q2)||'%' as q2 ,
    sum(q3)||'%' as q3,
    sum(q4)||' ' as q4,
    sum(Suffi)  as Suffi
from
    (select
        distinct v.*  
    from
        subject_vw v ,
        student_info mi     
    WHERE
        v.number = mi.number      
        v.number = 123) e 
group by
    rollup(subject);

My output of the query is as below:

Subject q1  q2  q3  q4 Suffi
Math    90  95  85  90  8
Sci     90  90  90  90  9
CSci    89  80  70  90  10
Total   269 265 245 270 27

Instead I would want the average in totals for q1, q2, q3, q4 and sum(Suffi). Sum(Suffi) is good but how do i get average for q1,q2,q3,q4? Suggestions please.

question from:https://stackoverflow.com/questions/65599330/oracle-sql-to-calculate-average-of-subjects

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...