안녕하세요.
SELECT절에서 COUNT와 MAX 조건을 다르게 가져오고 싶습니다.
현재 테이블에는 IP, PORT, DATETIME, SMSTime 4개의 컬럼이 있고
SELECT IP, PORT, COUNT(IP) AS IP, MAX(SMSTime) AS MAXSMSTime
FROM TCPingFail
WHERE DATETIME >= DATEADD(SECOND,-3600,GETDATE())
GROUP BY IP, PORT
이런식으로 가져오고 싶은데
COUNT(IP)에서 수집되는 카운트는 DATEADD -60인 건들의 카운트만 가져오고
MAX에서 검색되는 건은 DATEADD -3600인 건들을 가져오고 싶습니다.
이런저런 방법 생각해봤으나 좋은 방법이 떠오르지 않아서 도움 요청 드립니다.
좋은 방법 알려주시면 감사하겠습니다.
감사합니다.
SELECT절에서 COUNT와 MAX 조건을 다르게 가져오고 싶습니다.
현재 테이블에는 IP, PORT, DATETIME, SMSTime 4개의 컬럼이 있고
SELECT IP, PORT, COUNT(IP) AS IP, MAX(SMSTime) AS MAXSMSTime
FROM TCPingFail
WHERE DATETIME >= DATEADD(SECOND,-3600,GETDATE())
GROUP BY IP, PORT
이런식으로 가져오고 싶은데
COUNT(IP)에서 수집되는 카운트는 DATEADD -60인 건들의 카운트만 가져오고
MAX에서 검색되는 건은 DATEADD -3600인 건들을 가져오고 싶습니다.
이런저런 방법 생각해봤으나 좋은 방법이 떠오르지 않아서 도움 요청 드립니다.
좋은 방법 알려주시면 감사하겠습니다.
감사합니다.
Comment 2
-
자리비움
2017.10.16 14:19
SELECT IP, PORT, IP = COUNT(IP), MAXSMSTime = (SELECT MAXSMSTime = MAX(SMSTime) FROM TCPingFail WHERE IP = A.IP AND PORT = A.PORT AND [DATETIME] >= DATEADD(SECOND,-3600,GETDATE()))FROM TCPingFail AS AWHERE [DATETIME] >= DATEADD(SECOND,-60,GETDATE())GROUP BY IP, PORT -
tempest
2017.10.16 21:21
와 감사합니다. 정확히 제가 원하던 답을 주셨네요. 감사합니다!