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
운영게시판
최근게시물
MS-SQL Q&A 7197 게시물 읽기
No. 7197
도와 주세요.... 모르겠어요...ㅜㅜ
작성자
도와주세요ㅜㅜ
작성일
2019-12-02 11:16
조회수
1,795

안녕하세요... 평소 많은 도움 받고 있습니다. 

하기와 같이 문의 사항이 있어서요... 풀리지 않아요...ㅜㅜ

 

pid      param      week       kind           cond       num         value          min_value        max_value       avg_value

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

7a       t_ese      46             p              php_1        1             8.00

7a       t_ese      46             p              php_1         2            9.00

7a       t_ese      46             p              php_1        3             8.50

9a       u_ese     46            m              mhm_1      1             9.00

9a       u_ese     46            m              mhm_1       2             8.40

9a       u_ese      46           m               mhm_1       3            10.00

10a      h_ese     47           h                 hhh_1         1           10.12

10a      h_ese      47          h                  hhh_1        2           11.20

10a      h_ese      47          h                 hhh_1         3             8.00

 

값이 이렇게 있습니다. pid+param+week+cond  가 기본키 이고요..... 위 데이터로 조회가 되어야 하고, 각 기본키 별로 group by 해서 옆에 최소와 최대 값 그리고 평균을 넣어야 

합니다. 머리가 빠지고 있어요...ㅜㅜ 도와 주세요.

감사합니다. ㅜㅜ

 

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

min, max, avg 값은 그룹함수입니다.

그룹함수 값을 구해 원 테이블과 조인하시면 됩니다.

 

with t AS (
	select '7a' pid, 't_ese' [param], 46 [week], 'p' kind, 'php_1' cond, 1 num, 8.00 [value] 
	union all
	select '7a', 't_ese', 46, 'p', 'php_1', 2, 9.00
	union all
	select '7a', 't_ese', 46, 'p', 'php_1', 3, 8.50
	union all
	select '9a', 'u_ese', 46, 'm', 'mhm_1', 1, 9.00
	union all
	select '9a', 'u_ese', 46, 'm', 'mhm_1', 2, 8.40
	union all
	select '9a', 'u_ese', 46, 'm', ' mhm_1', 3, 10.00
	union all
	select '10a', 'h_ese', 47, 'h', 'hhh_1', 1, 10.12
	union all
	select '10a', 'h_ese', 47, 'h', 'hhh_1', 2, 11.20
	union all
	select '10a', 'h_ese', 47, 'h', 'hhh_1', 3, 8.00
)
select t.*, min_value, max_value, avg_value
from t
join (
	select pid,[param],[week],cond, min([value]) min_value, max([value]) max_value, avg([value]) avg_value
	from t
	group by pid,[param],[week],cond
) g on g.pid=t.pid and g.[param]=t.[param] and g.[week]=t.[week] and g.cond=t.cond
 
박인호(paerae)님이 2019-12-02 11:48에 작성한 댓글입니다.

정말 감사 드립니다. 

이렇게 간단하네요.. 개발자가 아니라..ㅜㅜ 너무 어려웠어요...

완전 도움 되었습니다. 이제 잠을 잘 잘듯요....

건승하시고.. 감기 조심하세요... ^^ 

도와주세요ㅜㅜ님이 2019-12-02 13:11에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7200GROUP으로 묶어서 가장낮은것만 출력하고 싶어요 [3]
김우성
2020-01-13
1725
7199소숫점 자리기 함수 문의 [1]
한번 더 도와주세요ㅜㅜ
2020-01-09
2035
7198가로 컬럼을 세로로 조회 하는 방법 [2]
한번 더 도와주세요ㅜㅜ
2019-12-13
1728
7197도와 주세요.... 모르겠어요...ㅜㅜ [2]
도와주세요ㅜㅜ
2019-12-02
1795
7195초보질문 [5]
ohyouknow
2019-11-01
1895
7194sub query [4]
ohyouknow
2019-10-30
1869
7193(초보질문)주문상품에 따른 그룹주문만들기? 고수분들. 꼭 한번 봐주세요. 부탁드립니다. [2]
추노
2019-10-17
1813
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다