database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 10443 게시물 읽기
No. 10443
세로로 조회된 성적 데이타를 날짜별로 가로로 나타내고 싶습니다. 날짜별로 과목 수 다를수있음..
작성자
이기자(k3i2)
작성일
2023-10-19 16:35
조회수
1,513

Select b.mdate, b.mg, Max( a.jumsu ) As jumsu

From mogosa_dapin a Left Outer Join mogosa_deung b On b.code = a.code

Where a.stu_c = 10014081

Group By b.mdate, b.mgm

Order By b.mdate Desc, b.mgm


의 결과가...


mdate       | mg   | jumsu

-----------------------

2023.10.01 | 국어 | 90

2023.10.01 | 영어 | 85

2023.10.01 | 수학 | 90

2023.10.02 | 국어 | 100

2023.10.02 | 수학 | 80

2023.10.03 | 국어 | 95

2023.10.03 | 과학 | 80

2023.10.03 | 물리 | 85

2023.10.03 | 사회 | 90

.

.

.


이런데 이걸 날짜별로 가로로 나오게 하고싶습니다...


mdate       | mg   | jumsu | mg   | jumsu |  gm  |  jumsu | gm | jumsu

--------------------------------------------------------------------------------

2023.10.01 | 국어 |     90   | 영어 |    85   | 수학 |    90   |

2023.10.02 | 국어 |   100   | 수학 |    80   |

2023.10.03 | 국어 |     95   | 과학 |    80   | 물리 |     85   | 사회 | 90

.

.

.

이렇게 출력되게 하고싶은데, 쿼리를 어찌 해야하나요 ㅜ.ㅜ






 

이 글에 대한 댓글이 총 1건 있습니다.

자답입니다.


SELECT mdate

        , MIN( CASE rn WHEN 1 THEN mgm   END) As mgm1

        , MIN( CASE rn WHEN 1 THEN jumsu END) As jumsu1

        , MIN( CASE rn WHEN 2 THEN mgm   END) As mgm2

        , MIN( CASE rn WHEN 2 THEN jumsu END) As jumsu2

        , MIN( CASE rn WHEN 3 THEN mgm   END) As mgm3

        , MIN( CASE rn WHEN 3 THEN jumsu END) As jumsu3

        , MIN( CASE rn WHEN 4 THEN mgm   END) As mgm4

        , MIN( CASE rn WHEN 4 THEN jumsu END) As jumsu4

        , MIN( CASE rn WHEN 5 THEN mgm   END) As mgm5

        , MIN( CASE rn WHEN 5 THEN jumsu END) As jumsu5

FROM (

    Select b.mdate,

            b.mgm,

            Max( a.jumsu ) As jumsu,

            ROW_NUMBER() OVER(PARTITION BY b.mdate ORDER BY b.mdate, b.mgm) rn

    From mogosa_dapin a Left Outer Join mogosa_deung b On b.code = a.code

    Where a.stu_c = 10014081

    Group By b.mdate, b.mgm

    Order By b.mdate Desc, b.mgm

) a

GROUP BY mdate

ORDER BY mdate Desc, Max( mgm )

 

이기자(k3i2)님이 2023-10-19 19:00에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
10447create extension oracle_fdw; undefined symbol 관련 에러 [8]
chaney
2023-11-03
1668
10446쿼리 실행 계획 buffers [1]
신현근
2023-10-27
1507
10445한자(중국어) 저장시 일부 문자가 깨집니다 ㅜ.ㅜ [8]
이기자
2023-10-24
1673
10443세로로 조회된 성적 데이타를 날짜별로 가로로 나타내고 싶습니다. 날짜별로 과목 수 다를수있음.. [1]
이기자
2023-10-19
1513
1044115 버전에서 public 스키마 변경 관련 문의 드립니다. [2]
초보
2023-09-18
2030
10440autocommit = off 질문
용암그라탕
2023-09-14
1924
10439Dead Tuple 조회? [2]
갑자기
2023-08-20
2081
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다