gebbakcher
78
2019-09-23 16:06:56 작성 2019-09-23 16:13:55 수정됨
5
318

오라클 쿼리 질문입니다.


과목이름 점수1  점수2

 국어      5         20


 영어      8         30

  

 수학     10         40


  국어      5          50


 수학       9         60


 영어       8         70


이런 테이블이 있다고 가정하였을때 저는 중복제거? 를 하여서

국어 영어 수학 만 남긴다음  점수 1 과 점수 2를 곱하여서 나타내고 싶은데.. 감이안오네요...

select distinct 과목이름, 점수1 * 점수2 from 테이블 ;

이렇게 하니까 중복제거가 계속 풀리고..



아래와 같이 나타내고 싶습니다.


과목이름  총점수(점수1 * 점수2)

국어            모든 국어의 점수1, 점수2 의 곱하기값

영어            ~      

수학            ~


1
0
  • 답변 5

  • 유리세계
    3k
    2019-09-23 16:08:47

    그룹바이를 하고 avg 를 건다음에 각 해당 과목의 count 만큼 곱하면 값이 나올 것 같네요

    0
  • n016omega
    770
    2019-09-23 16:11:15

    정확하게 원하는 결과를 알려주셨으면 좋겠어요

    제일 하단에 국어 80 이라고 적혀있는데 이 80은 어떻게 나오는거죠?

    점수1 * 점수2 해서 80 나오는 수치가 상단에 있는 원본 데이터에는 없어서요

    0
  • gebbakcher
    78
    2019-09-23 16:13:11

    앗 제가 잘못적었네요 80은 그냥 없다고 생각하시면 될것같아요 모든 국어의 점수 1,2의 곱하기 값이 총점수에 나오길 원합니당

    0
  • n016omega
    770
    2019-09-23 16:19:23


    select
        a.과목명, sum(a.점수1 * a.점수2)
    from 
    (
        --조회 쿼리 내용
    ) a
     group by a.과목명

    이렇게 하시면 될 것 같아요

    1
  • gebbakcher
    78
    2019-09-23 16:23:44

    아 그룹바이는 저렇게 쓰는거군요 .. 감사합니다 해결되었습니다!

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.