데이터베이스 개발자 질문과 답변 게시판
안녕하세요
이리님게 대단히 감사 하다고 말씀 드립니다 ^^
감사드리고요
마지막 한고비좀 부탁 드립니다.
- 이전글에 이어서 입니다 - http://www.sqler.com/index.php?mid=bSQLQA&document_srl=882234
;WITH TBLX(sensor_id, [timestamp], calc_value)
AS
(
SELECT '000', '2016-11-16 11:51:41', 0.02 UNION ALL
SELECT '000', '2016-11-16 11:52:42', 0.01 UNION ALL
SELECT '000', '2016-11-16 11:53:43', 0.03 UNION ALL
SELECT '054', '2016-11-16 11:51:44', 0.01 UNION ALL
SELECT '054', '2016-11-16 11:52:45', 0.02 UNION ALL
SELECT '054', '2016-11-16 11:53:46', 0.03 UNION ALL
SELECT '000', '2016-11-17 11:51:47', 0.02 UNION ALL
SELECT '000', '2016-11-17 11:52:48', 0.01 UNION ALL
SELECT '000', '2016-11-17 11:53:49', 0.03 UNION ALL
SELECT '054', '2016-11-17 11:51:50', 0.01 UNION ALL
SELECT '054', '2016-11-17 11:52:51', 0.02 UNION ALL
SELECT '054', '2016-11-17 11:53:52', 0.03
)
SELECT CONVERT(NVARCHAR(19), timestamp, 120) as '계측일시',[000], [054]
FROM
(
SELECT ROW_NUMBER() OVER(PARTITION BY sensor_id, SUBSTRING([timestamp], 1, 10) ORDER BY [timestamp]) AS ROW_NUM
, sensor_id
, [timestamp]
, calc_value
FROM TBLX
where timestamp BETWEEN '2016-11-16 00:00:00' AND '2016-11-17 23:59:00'
AND sensor_id IN ('054', '000')
) AS T1
--WHERE T1.ROW_NUM = 1 ============================> 풀면 오류 입니다.
PIVOT
(
MAX(calc_value) FOR sensor_id IN ([000], [054])
) AS pvt
이리님이 주신 쿼리를 조금 변경해서, 피벗을 사용 하였습니다.
한데, where 절과 충돌이 발생 합니다.
밑에서 다섯번재 줄에 WHERE 절이 pivot 과 말썽을 일으킵니다.
죄송하게도 마지막 까지 스스로 하지를 못하네요
다시한번 이리님께 감사의 말씀을 드립니다
감사 합니다 ^^
Comment 2
-
호리205
2016.11.16 20:48
원하시는 결과가 이게 맞는지 모르겠지만 일단 에러는 안뜨네요..WITH TBLX(sensor_id, [timestamp], calc_value)AS(SELECT '000', '2016-11-16 11:51:41', 0.02 UNION ALLSELECT '000', '2016-11-16 11:52:42', 0.01 UNION ALLSELECT '000', '2016-11-16 11:53:43', 0.03 UNION ALLSELECT '054', '2016-11-16 11:51:44', 0.01 UNION ALLSELECT '054', '2016-11-16 11:52:45', 0.02 UNION ALLSELECT '054', '2016-11-16 11:53:46', 0.03 UNION ALLSELECT '000', '2016-11-17 11:51:47', 0.02 UNION ALLSELECT '000', '2016-11-17 11:52:48', 0.01 UNION ALLSELECT '000', '2016-11-17 11:53:49', 0.03 UNION ALLSELECT '054', '2016-11-17 11:51:50', 0.01 UNION ALLSELECT '054', '2016-11-17 11:52:51', 0.02 UNION ALLSELECT '054', '2016-11-17 11:53:52', 0.03)SELECT * FROM (SELECT sensor_id, [timestamp], calc_valueFROM(SELECT ROW_NUMBER() OVER(PARTITION BY sensor_id, SUBSTRING([timestamp], 1, 10) ORDER BY [timestamp]) AS ROW_NUM, sensor_id, [timestamp], calc_valueFROM TBLX) AS T1WHERE T1.ROW_NUM = 1 ) AS T2PIVOT (MAX(calc_value) FOR sensor_id IN ([000], [054])) AS PVT -
메아리
2016.11.17 07:11
맞습니다 !!!!
감사 합니다 ^^
깔끔하게 마무리 되었습니다.
꾸~~~~~~~~~~벅 ~~~~~~~~~~~~~~~~~~~~~~
No. | Subject | Author | Date | Views |
---|---|---|---|---|
9611 | 데이터 실시간 연동 관련 문의 입니다. [4] | 호짱 | 2016.11.21 | 4351 |
9610 | DB 복제에 대해 질문 드립니다. | 조형근 | 2016.11.21 | 3775 |
9609 | TABLE 특정컬럼 결과값 확인 [2] | 슬이슬이 | 2016.11.21 | 1768 |
9608 | 쿼리좀 풀어 주세요 [4] | 메아리 | 2016.11.18 | 2744 |
9607 | 100만건정도의 데이터를 한페이지에 모두 뿌려주는 게 가능할까요? [2] | 냥냥 | 2016.11.18 | 4072 |
9606 | 문자 치환에 대하여 질의드립니다. [1] | 방혁 | 2016.11.17 | 1491 |
9605 | 쿼리 관련 문의 [2] | 냥냥 | 2016.11.17 | 3054 |
9604 | 쿼리좀 구합니다 [2] | 메아리 | 2016.11.17 | 2371 |
9603 | sql 서버 관리 관련 질문 [1] | 오늘도난 | 2016.11.17 | 3252 |
» | 쿼리좀 풀어주세요-2 [2] | 메아리 | 2016.11.16 | 1987 |
9601 | 복구후 예전으로 다시 복원하는법이 있나요. [2] | 큘러 | 2016.11.16 | 3187 |
9600 | 쿼리좀 풀어주세요 ㅠ [12] | 메아리 | 2016.11.16 | 1935 |
9599 | 스칼라 함수 안에서 업데이트문..? [5] | 후알유? | 2016.11.15 | 2328 |
9598 | 문자 + 숫자 채번(시퀀스).. [2] | 후알유? | 2016.11.14 | 3865 |
9597 | 쿼리 쪼깨지? [2] | 문상연 | 2016.11.14 | 2497 |
9596 | mysql query 질문드립니다! [3] | rhqnffksdl | 2016.11.12 | 2382 |
9595 | select 속도 궁금증.. [2] | 후알유? | 2016.11.10 | 1994 |
9594 | 입력된 기간들의 중복을 제외한 총합을 구하고 싶습니다. [6] | 하늘민 | 2016.11.10 | 2434 |
9593 | outofmemory 문제 [2] | 에스디 | 2016.11.10 | 3472 |
9592 | sp_execute 11 문의 [1] | aspa77 | 2016.11.09 | 2066 |